我一直在努力创建一个简单的iOS应用程序,可以接收推送通知.我这样做的唯一原因是为其他团队成员建立一个程序,并且无法在网络上的其他地方找到这些指令的最新工作版本.我们的商店对于iOS开发者来说相当新,我个人对iOS开发和Xcode完全缺乏经验.我偶然发现了Apple和其他地方的数十篇教程,文章和问题帖子,我觉得我可能差不多......
这是我必须去的地方(请注意我正在使用Xcode 4.3并尝试最初部署到iOS 5.1,并且我认为最近有些事情可能与早期版本的Xcode有所改变,但我再次对所有人都是新手这 - 并且发现它完全令人困惑和错综复杂):
1)我的iPhone上有配置文件,启用了Push功能
2)在我的测试Xcode项目中,我已选择配置文件作为签名标识(在Build Settings> Code Signing中)

3)我已在"摘要和信息">"自定义iOS目标属性"下正确设置了我的包标识符*(我认为??)
4)我已经在我的委托的didFinishLaunchingWithOptions中调用了registerForRemoteNotificationTypes
5)我的委托中有didRegisterForRemoteNotificationsWithDeviceToken和didFailToRegisterForRemoteNotificationsWithError,设置为分别记录设备令牌或错误
6)我在Summary下检查了Enable Entitlements.
7)在下面,选择的权利文件是Tinker6(我的测试项目的名称),当我选中启用权利时自动生成
8)在Tinker6.entitlements文件中,我得到了以下内容(我收集的内容基于网络上的几个不同帖子是正确的,但是我找不到Apple自己确定的任何内容):

更新
9)此外,我已经尝试了没有权利文件的整个事情,并获得了基本相同的结果.
10)我的mobileprovision文件内容包括正确的权利(我已经对数字和域进行了加扰,但结构相同):
<key>application-identifier</key>
<string>12355456A7.com.whatever.tinker</string>
<key>aps-environment</key>
<string>development</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>12355456A7.*</string>
</array>
Run Code Online (Sandbox Code Playgroud)
/结束更新
当我尝试在我的设备上运行它时,我在Xcode输出中收到以下错误:
2012-06-11 12:45:23.762 Tinker6[13332:707] Failed to get token, error:
Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment'
entitlement string found for application" UserInfo=0x24a3b0
{NSLocalizedDescription=no valid 'aps-environment' entitlement string
found for application}
Run Code Online (Sandbox Code Playgroud)
我已经尝试将get-task-allow设置为NO,aps-environment to production,所有四种可能的组合,同样的事情.
我怎么能通过这个?这方面的权威文件在哪里?
- 进一步的背景如下 -
*就bundle ID而言,我仍然不清楚如何在Provisioning配置文件中设置应用程序ID和配置文件ID.在App Ids下的Provisioning门户中,我有这个(再次,扰乱了数字和域):

并且两个地方捆绑id设置我有这个:

我完全不确定这些是否正确,或者是否应将其中一个或两个设置为12355456A7.com.whatever.tinker,尽管我在此过程中尝试过这些但没有成功...
注意我意识到有许多帖子具有相似的标题,但是它们似乎都是根据文件名和反过来给出的,并且事实上没有一个解决方案似乎有用.我希望我给出的更高水平的细节将保证质量响应.我可能会尽快分配奖金,如果你给出一个高质量的答案导致解决方案,我将奖励你的奖金,并通过推特和我的博客推广你的答案.特别是如果你发布一个非常好的crosspost帖子"这里有你需要的确切的 500步骤,以便在你的博客或其他任何东西上获得一个简单的推送通知应用程序,包括配置和其他任何"文章.
notifications push-notification apple-push-notifications ios
当我将启用推送通知的iPhone应用程序的Ad Hoc版本加载到我的设备上时遇到此错误:
没有为应用程序找到有效的aps-environment权利
它是什么意思,我该如何修复它?
我不知道为什么,但是没有显示Xcode中的功能推送通知选项.为什么?
我按照开发人员指南,创建cers,启用提供配置文件等.
我在Xcode首选项中刷新了帐户.我做错了什么?

我搜索了Google和Stack Overflow,但我无法解决这个问题.
我的应用程序有一个AdHoc和Appstore配置文件,这两个配置文件都在我的X代码控制台中给出了"为应用程序找到的无效'aps-environment'权利字符串"错误,我无法发送推送通知.到目前为止,我采取的步骤是: - 在开发门户中编辑了配置文件,下载了新配置文件并检查了.mobliprovision文件.发现
aps-environment:production get-task-allow:false
无论如何,我将它提交到App商店,它通过了验证,正在等待审核.当我检查iTunes Connect门户中的二进制详细信息时,我可以认为aps-environment也被列为"生产"
我能做错什么?