3

嘿 Apple 开发人员,我正在努力弄清楚 iOS 配置文件、证书和应用程序 ID 如何与推送通知配合使用。我以为我快要让它发挥作用了,但也许不是。

当我运行我的应用程序并尝试注册推送通知时,我在控制台中收到此错误:

2012-06-26 17:52:29.380 Grouped[1732:707] badgeNumber: 0
2012-06-26 17:52:30.089 Grouped[1732:707] [INFO] device is ready
2012-06-26 17:52:32.654 Grouped[1732:707] JSLOG: Registering with APNS via the App Delegate
2012-06-26 17:52:32.655 Grouped[1732:707] Register success callback set
2012-06-26 17:52:32.661 Grouped[1732:707] didFailToRegisterForRemoteNotificationsWithError:Error 
Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for 
application" UserInfo=0x18a0c0 {NSLocalizedDescription=no valid 'aps-environment' 
entitlement string found for application}

我现在已经做了几个小时的研究,无法弄清楚我做错了什么。我创建了一个链接到我的应用 ID 的新配置文件。我可以在我的手机上看到它。

有任何想法吗?

额外的问题:为什么正确地为推送通知配置 iOS 应用程序如此复杂?

4

3 回答 3

7

有几件事要检查:

  • 您的设备上是否有此应用程序的任何其他配置文件?我会删除它们。
  • 您的 App ID 是否在供应门户中启用了推送?
  • 您确定您使用正确的个人资料签名吗?它必须是非通配符开发证书。
  • 您是否指定了自己的 entitlements.plist 文件?现代 Xcode 会生成一个,所以你不需要这样做。确保您的“代码签名权利”构建设置为空。

如果您还没有找到它,Apple 有一个很好的常见问题解答:

http://developer.apple.com/library/ios/#technotes/tn2265/_index.html

于 2012-06-27T01:20:54.380 回答
1
"no valid 'aps-environment' entitlement string found for 
application"

您的配置文件未启用推送通知。确保您在配置门户中启用了它们,生成一个新的配置文件,但更重要的是确保您在 Xcode 中实际安装了它并使用该配置文件为您的应用程序签名。最后一部分咬了我几次。

于 2012-06-27T01:24:01.573 回答
1

确保在为应用创建推送证书后创建新的 adhoc/appstore 配置文件。为推送消息启用应用程序后,分发配置文件会发生变化。

于 2012-06-29T14:42:41.780 回答