始终无法从 UIApplication 的 didRegisterForRemoteNotificationsWithDeviceToken 委托中获取设备令牌
Always not getting the device token from the didRegisterForRemoteNotificationsWithDeviceToken delegate of UIApplication
我需要设备令牌来在我的应用程序中实现推送通知,就像我从 didRegisterForRemoteNotificationsWithDeviceToken 方法获取设备令牌之前一样,但最近它不起作用。
有关详细信息,请在 didFinishLaunchingWithOptions 方法中找到以下代码。
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIRemoteNotificationTypeBadge
|UIRemoteNotificationTypeSound
|UIRemoteNotificationTypeAlert) categories:nil];
[application registerUserNotificationSettings:settings];
} else {
UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;
[application registerForRemoteNotificationTypes:myTypes];
}
而且我还添加了委托 didRegisterUserNotificationSettings。
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {
if (notificationSettings.types != UIUserNotificationTypeNone) {
NSLog(@"didRegisterUser");
[application registerForRemoteNotifications];
}
}
感谢您提前这么及时的回复,我希望我能更清楚地了解我的问题。
非常感谢任何帮助。
我遇到了同样的问题。由于 WWDR 中间证书刚刚过期(2016 年 2 月 14 日),我在搜索过程中找到了一些解决方案。这可能会导致问题。
您可以尝试以下步骤:
- 在钥匙串访问中。查看 -> 显示过期证书。删除过期证书。
- 从您的开发者帐户下载新的 WWDR 证书。
Apple 还列出了几个已知问题。请参考下面 link : https://developer.apple.com/support/certificates/expiration/
我需要设备令牌来在我的应用程序中实现推送通知,就像我从 didRegisterForRemoteNotificationsWithDeviceToken 方法获取设备令牌之前一样,但最近它不起作用。
有关详细信息,请在 didFinishLaunchingWithOptions 方法中找到以下代码。
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIRemoteNotificationTypeBadge
|UIRemoteNotificationTypeSound
|UIRemoteNotificationTypeAlert) categories:nil];
[application registerUserNotificationSettings:settings];
} else {
UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;
[application registerForRemoteNotificationTypes:myTypes];
}
而且我还添加了委托 didRegisterUserNotificationSettings。
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {
if (notificationSettings.types != UIUserNotificationTypeNone) {
NSLog(@"didRegisterUser");
[application registerForRemoteNotifications];
}
}
感谢您提前这么及时的回复,我希望我能更清楚地了解我的问题。
非常感谢任何帮助。
我遇到了同样的问题。由于 WWDR 中间证书刚刚过期(2016 年 2 月 14 日),我在搜索过程中找到了一些解决方案。这可能会导致问题。
您可以尝试以下步骤:
- 在钥匙串访问中。查看 -> 显示过期证书。删除过期证书。
- 从您的开发者帐户下载新的 WWDR 证书。
Apple 还列出了几个已知问题。请参考下面 link : https://developer.apple.com/support/certificates/expiration/