1

UILocalNotification의 종료일을 설정할 수 있는지 궁금합니다.UILocal 알림 종료일

매일 알림을 받고 싶지만 (NSDayCalendarUnit) 내게 알림을 보내고 싶지만 마감일이 있습니다 (마감일). 예 : 나는 성장하는 콧수염의 사진을 1 년 동안 매일 복용하고 있으며 1 년 후 통보는 표시되지 않습니다. 난 당신이 나의 관점을 가지고 희망

...

당신이 문서를 읽을 수 UILocalNotification 이러한 옵션은 없다

답변

4

.

유일한 옵션은 모든 사용자가 앱을 시작할 때를 확인하는 것입니다.

+0

... 그리고 알림을 취소해야하는지 확인합니다. 이 대답은 제가 듣고 싶었던 것이 아니지만 지금 저는 이것을 성취 할 수 없다고 확신합니다. 고마워요 @ rckoenes – cojoj

-3
Use following code: 

UILocalNotification *localNotification = [[UILocalNotification alloc] init]; 
localNotification.repeatInterval = NSDayCalendarUnit; 
+0

'repeatInterval' 속성을 관리하는 방법을 알고 있고 이것은 내가 묻고있는 것이 아닙니다. – cojoj

1

UILocalNotification 객체에서, 나는 repeatInterval 속성을 설정하고 알림이 만료 여부를 결정하기 위해 나중에 쿼리에 대한 userInfo 사전에 종료 날짜를 넣어 권하고 싶습니다. 예 :

UILocalNotification* uiLocalNotification; 
uiLocalNotification = [[UILocalNotification alloc] init]; 

//Set the repeat interval 
uiLocalNotification.repeatInterval = NSCalendarUnitDay; 

NSDate* fireDate = ... 

//Set the fire date 
uiLocalNotification.fireDate = fireDate; 

//Set the end date 
NSDate* endDate = ... 

uiLocalNotification.userInfo = @{ 
            @"endDate": endDate 
           }; 

UIApplication* application = [UIApplication sharedApplication]; 
[application scheduleLocalNotification:uiLocalNotification]; 

//... 

//Somewhere else in your codebase, query for the expiration and cancel, if necessary 

UIApplication* application = [UIApplication sharedApplication]; 
NSArray* scheduledNotifications = application.scheduledLocalNotifications; 

NSDate* today = [NSDate date]; 

for (UILocalNotification* notification in scheduledNotifications) { 

    NSDate* endDate = notification.userInfo[@"endDate"]; 

    if ([today earlierDate:endDate] == endDate) { 
     //Cancel the notification 
     [application cancelLocalNotification:notification]; 
    } 
}