2012-06-07 2 views
1

특정 시간 이후에 iOS 로컬 알림을 취소하고 싶습니다. 예를 들어특정 시간 후에 iOS 로컬 알림을 취소하려면 어떻게해야합니까?

: 주 나중에

- (void)ViewDidLoad 
{ 
    NSDate *date = [NSdate date]; 
    UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
    //set some localNotif's properties 
    localNotif.repeatInterval = NSDayCalendarUnit; 
    localNotif.fireDate = date 

    [[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 
} 

어떻게 (7 일) 일주일 후 localNotif을 취소 할 수 있습니다 당신은 나에게 코드를 보일 수 있는가?

+0

를 중요하지 않습니다 여기를 참조하십시오. 사용자가 앱 내에있는 동안 어느 시점에서 호출해야합니다. 그리고 언제 '시간을 알아낼 수 있니?' 취소하려는 경우 언제든지 취소 할 수 있습니다. – Christian

+0

취소를 실행 하시겠습니까? 사용자가 버튼을 누르면? 앱을 종료 하시겠습니까? –

+0

@Christian, 몇 가지 코드를 추가했습니다. 조언을 해줄 수 있습니까? u – joshz

답변

1

알림이 취소 될 예정인 시점에 앱이 포 그라운드에서 실행되고 있지 않는 한 그렇게 할 수 없습니다 (어쨌든 취소 할 필요가없는 경우).

취소 할 수있는 이유는 타이머가 필요하기 때문이며, 배경 모드가있는 앱이 아니라면 타이머를 예약 할 수 없기 때문입니다. 타이머를 예약 해 사용자에게 알릴 수는 있지만 백그라운드 앱을 정지해도 계속 보장 될 수는 없습니다.

그 방법을 넣어 곳이 iOS Run Code Once a Day

+0

에 감사하십시오. 그렇게하는 유일한 방법은 "앱을 실행할 때마다 확인하여 취소 할 시간이 있는지 확인하는 것"입니다. – joshz

+0

예,하지만 그것은 무의미합니다. 왜냐하면 앱이 포 그라운드에있을 때 앱은 사용자가 아닌 알림을 직접받으며 앱은이를 취소하기보다는 무시할 수 있기 때문입니다. – Gruntcakes

관련 문제