iOS推送通知噩梦,规定应用ID和证书

时间:2012-06-27 01:03:07

标签: ios apple-push-notifications

嘿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应用程序是如此复杂?

3 个答案:

答案 0 :(得分:7)

要检查几件事:

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

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

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

答案 1 :(得分:1)

"no valid 'aps-environment' entitlement string found for 
application"

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

答案 2 :(得分:1)

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