iOS推送通知噩梦,提供应用程序ID和证书

iOS推送通知噩梦,提供应用程序ID和证书,ios,apple-push-notifications,Ios,Apple Push Notifications,嘿,苹果的开发者们, 我正在努力弄清楚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

嘿,苹果的开发者们, 我正在努力弄清楚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应用程序如此复杂

需要检查的几件事:

  • 您的设备上是否有此应用的其他配置文件?我会删除它们
  • 您的应用ID是否已在资源调配门户中启用推送功能
  • 您确定使用正确的配置文件签名吗?它必须是非通配符开发证书
  • 您是否正在指定自己的授权.plist文件?现代Xcode生成一个,所以您不需要这样做。确保“代码签名权限”生成设置为空
如果你还没有找到它,苹果有一个很好的常见问题解答:


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

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

嘿,杰西,感谢您的回复。我的设备上有两个配置文件。一个是我的iOS团队条款。另一个是我的推送服务。我只需要一个吗?我的应用程序ID已启用推送功能。关于你的第三个问题,用正确的个人资料签署申请表意味着什么?我确保我的推送配置文件没有任何通配符。但我的团队档案确实有一个通配符。我应该只使用推送功能吗?如果是,我该怎么做?我没有使用我自己的权利。项目中的所有内容都是默认的。任何额外的帮助都会很棒!感谢您在构建设置下查看“代码签名标识”,并确保它为您的目标选择了非通配符配置文件&scheme;你应该只使用非通配符的一个(有另一个也可以,只是不要用它来签署这个应用)。很有趣。所以我还没有启用推送我的个人资料。但正如我在下面对杰西回答的回复中提到的,我有两个个人资料。我的团队资源调配配置文件和我为推送创建的推送资源调配配置文件(打开推送)。我下载了证书,它和我的团队配置文件一起显示在xcode中。如何告诉xcode不要使用团队资源调配配置文件?或者这不是答案?非常感谢您的回复。这快把我逼疯了!
"no valid 'aps-environment' entitlement string found for 
application"