1

알림을 받으면 실행 가능한 버튼이 필요합니다. 그것은 완벽하게 작동일정 UILocalNotification

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
UIApplication *application = [UIApplication sharedApplication]; 

if(SYSTEM_VERSION_LESS_THAN(@"10.0")) { 
    UIMutableUserNotificationAction *action1 = [[UIMutableUserNotificationAction alloc] init]; 
    [action1 setActivationMode:UIUserNotificationActivationModeForeground]; 
    [action1 setTitle:@"action1Text"]; 
    [action1 setIdentifier:@"action1id"]; 
    [action1 setDestructive:NO]; 
    [action1 setAuthenticationRequired:NO]; 

    UIMutableUserNotificationCategory *actionCategory = [[UIMutableUserNotificationCategory alloc] init]; 
    [actionCategory setIdentifier:kMTNRemindLaterCategory]; 
    [actionCategory setActions:@[action1] 
        forContext:UIUserNotificationActionContextDefault]; 

    NSSet *categories = [NSSet setWithObject:actionCategory]; 
    UIUserNotificationType types = (UIUserNotificationTypeAlert| 
            UIUserNotificationTypeSound| 
            UIUserNotificationTypeBadge); 

    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:types categories:categories]; 

    [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; 

} 
} 

- 원격 푸시 알림을 처리하기 위해, 나는 다음과 같은 코드를 추가했다. 나는 버튼을보고 행동을 처리 할 수있다. 이제 버튼을 클릭하고 더 많은 로직을 기반으로 위에서 정의한 것과 동일한 액션 버튼을 사용하여 로컬 알림을 예약하려고합니다. 코드 (AppDelegate 파일에 없음)를 추가했습니다.

NSDate *date = [NSDate dateWithTimeIntervalSinceNow:10]; 
UILocalNotification *localNotification = [[UILocalNotification alloc] init]; 
localNotification.fireDate = date; 
localNotification.timeZone = [NSTimeZone defaultTimeZone]; 
localNotification.alertBody = @"title 4"; 
localNotification.hasAction = YES; 
localNotification.alertAction = @"action"; 
localNotification.soundName = UILocalNotificationDefaultSoundName; 
localNotification.category = kRemindLaterCategory; 
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 

로컬 알림이 예약되고 알림을받습니다. 하지만 실행 가능한 버튼이 보이지 않습니다.

- (void) application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification; 

이 유용 할 것 같습니다 곳

나는 사과 문서를 참조하십시오. 그러나 알림을 클릭하면 트리거됩니다. 다른 게시물은 내가 언급 된 https://www.shinobicontrols.com/blog/ios8-day-by-day-day-25-notification-actions actions and categories don't show in UILocalNotification in iOS How can I add action buttons/actions to UILocalNotification alert?

는 사람이 올바른 방향으로 날 가리시겠습니까?

답변

1

kRemindLaterCategory 값과 kMTNRemindLaterCategory 그런 다음 당신은 모두가 동일하지 않으면 지역의 통지에 할당 된 카테고리가되지 않았기 때문에, 실행 가능한 버튼이 표시되지 수, 현지 통지와 함께 실행 가능한 버튼을 볼 수 있습니다, 동일해야합니다 등기.

+0

당신이 최고입니다! 고마워요 톤 : D 조 –