始终无法从 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/