ios - 未调用 Apple 推送通知委托(delegate)方法

标签 ios iphone ipad ios8 apple-push-notifications

工作正常,但使用相同的代码,我的成功或失败委托(delegate)方法都没有被调用,日志中也没有错误。在 iPad Air(8.0) 上测试,今天出现这个问题,有没有人遇到同样的问题?

以下是我的实现代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
    // iOS 8
    [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
    [[UIApplication sharedApplication] registerForRemoteNotifications];
} else {
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
     (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
}
return YES;
}

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
}

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
}

谢谢

最佳答案

将这些方法添加到您的 AppDelegate

#ifdef __IPHONE_8_0
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
{
    //register to receive notifications
    [application registerForRemoteNotifications];
}

- (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void(^)())completionHandler
{
    //handle the actions
    if ([identifier isEqualToString:@"declineAction"]){
    }
    else if ([identifier isEqualToString:@"answerAction"]){
    }
}
#endif

关于ios - 未调用 Apple 推送通知委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27741707/

相关文章:

android - 使用 libgdx 播放动画 gif

android - cordova-ionic ngCordova ios 或 iPhone 文件读取错误代码 5 ENCODING_ERR

iphone - 你能自动发送短信吗?

ipad - 更改弹出 Controller 中的选项卡栏时,如何在详细 View 中更新 UITableView?

IOS:从其他选项卡中展开segues

ios - 应用商店提交期间 Xcode 中的错误 ITMS-90203

ios - UIPopoverController:如何移动它?

iphone - 无法从 Xcode 项目中删除启动图像

iphone - ffmpeg : playing udp stream

iphone - 旧版本的 iOS 用户可以浏览最新 iOS 独占的应用程序吗? (例如 iOS5 用户在 App Store 中看到 iOS6 应用程序)