未在 iOS 10 上为基于 XCode 7.3 构建的应用程序生成设备令牌

Posted

技术标签:

【中文标题】未在 iOS 10 上为基于 XCode 7.3 构建的应用程序生成设备令牌【英文标题】:Device token not generated on iOS 10 for app built on XCode 7.3 【发布时间】:2016-11-12 05:15:55 【问题描述】:

我有一个基于 XCode 7.3 和 swift 2.3 版本的应用程序,并且已在应用程序商店上线。在 ios 9 上成功生成了设备令牌,但是当我在 iOS 10 上对其进行测试时,没有生成设备令牌。我无法在 iOS 设备上调试它,因为 XCode 不支持 iOS 10 设备。因此,我使用生产模式存档,然后在 iOS 10 设备上进行测试,但无法获取设备令牌。我知道 iOS 10 有一个新的通知框架,但 XCode 7 不支持。是 iOS 10 操作系统上的任何错误,还是我做错了,因为我没有找到任何解决方案。另外由于某些原因,我无法将代码转换为 swift 3.0。

我遇到了一个奇怪的问题。在开发配置文件中生成 iOS 10 的设备令牌,但在生产模式下不会生成。任何可能的原因。

【问题讨论】:

您可以在 Xcode 7.x 版本中调试 iOS 10 设备。检查这里我已经回答了***.com/a/39865199/2545465 还可以尝试 NWPusher 检查您在 dev 或 adhoc 模式下的推送通知。 github.com/noodlewerk/NWPusher 【参考方案1】:
    下载最新的 XCode(8.1 现已推出)

    然后按照以下链接中提到的步骤处理iOS 10及更高版本的推送通知 Handle Push notification for iOS 10

    然后测试应用程序。您将获得设备令牌。

【讨论】:

由于某些原因,我现在无法在 swift 3.0 中转换该代码。 @NA000022 :您无需将代码转换为 swift 3.0。 1. 如果你的项目是由 Objective-C 代码组成的,那么你不需要转换它。 2. 即使您的项目是由 Swift 代码组成的,当您在最新版本的 XCode 中打开我们的项目时,它也会询问您是否需要将代码 swift 到 Swift 3.0 或维护现有的 swift 版本。到目前为止,您可以选择“稍后”并继续您的开发过程。【参考方案2】:

我也有同样的问题,但通过执行以下步骤解决了

在 Xcode 中的 Targets -> Capabilities -> Push Notifications 下启用“Push Notifications”Attached image for reference

注意:配置文件应处于活动状态

【讨论】:

以上是关于未在 iOS 10 上为基于 XCode 7.3 构建的应用程序生成设备令牌的主要内容,如果未能解决你的问题,请参考以下文章

iOS-Xcode7.3真机测试iOS10

IBM MobileFirst Platform 未在 iOS 上为混合应用程序触发远程禁用消息

UIWindow 及其内容未在 Xcode 11 iOS 13 中显示。出现黑屏

Xamarin.iOS SKProductRequest 事件未在 Debug 中调用(在 iOS 15 和 xCode 13 之前工作)

带有 iOS 9.2 dataWithContentsOfURL 的错误 Xcode 7.3

无法在 Xcode 3.2.6 上为 iOS 构建 Facebook SDK