可以在 xcode 5 中为 ios 8 设备调用 registerUserNotificationSettings

Posted

技术标签:

【中文标题】可以在 xcode 5 中为 ios 8 设备调用 registerUserNotificationSettings【英文标题】:Can registerUserNotificationSettings be called in xcode 5 for ios 8 device 【发布时间】:2015-03-29 08:00:37 【问题描述】:

由于 ios 8 不推荐使用 registerForRemoteNotificationTypes 并使用 registerUserNotificationSettings,当我使用 Xcode 5 registerUserNotificationSettings 为 iOS 8 设备运行代码时没有被调用。

我正在使用此代码:

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
  [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
        [[UIApplication sharedApplication] registerForRemoteNotifications];
         #else

         [[UIApplication sharedApplication]registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
           #endif

【问题讨论】:

【参考方案1】:

这是因为 iOS 8 SDK 附带 Xcode 6。如果您尝试从 Xcode 5 运行它,我假设它仍在使用 iOS 7 SDK,因此该方法尚不存在。有多种方法可以将 iOS 8 SDK 与 Xcode 5 一起使用,但我个人只会升级到 Xcode 6,因为它是为与 iOS 8 SDK 一起使用而设计的,这是自 SDK 发布以来最大的变化。

所以升级到 Xcode 6,重新构建它,它应该可以按预期工作。

【讨论】:

以上是关于可以在 xcode 5 中为 ios 8 设备调用 registerUserNotificationSettings的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 设备列表在 ionic/cordova 项目中为空

我可以在 Xcode 9.2 中为 iOS 12 开发应用程序吗?

如何在 iOS Swift 3.1 Xcode 8.3.2 中为 iPad 应用程序安装 iPhone 应用程序

在 Xcode 8 beta 中为 iOS 10 贴纸包构建时出现问题

在 Xcode 5 和 iOS 8 上关闭 UIAlertView

如何在 xcode 7 中为 xcode 8 中的标签添加更多字体大小,它在字体旁边显示“+”符号