嘿 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 应用程序究竟为何如此复杂?
最佳答案
需要检查的几件事:
- 您的设备上是否有此应用的任何其他配置文件?我会删除它们。
- 您的 App ID 是否在配置门户中启用了推送?
- 您确定您使用的是正确的配置文件吗?它必须是非通配符开发证书。
- 您是否指定了自己的 entitlements.plist 文件?现代 Xcode 会生成一个,因此您无需执行此操作。确保您的“代码签名权利”build设置为空。
如果您还没有找到它,Apple 有一个关于此的很好的常见问题解答:
http://developer.apple.com/library/ios/#technotes/tn2265/_index.html
关于iOS 推送通知噩梦,提供应用程序 ID 和证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218012/