我一直在非常努力地创建一个可以接收推送通知的简单简单的 iOS 应用程序。我这样做的唯一原因是建立一个程序供其他团队成员使用,并且无法在网络上的其他地方找到此类说明的最新工作版本。我们的商店对 iOS 开发者来说相当新,我个人对 iOS 开发者和 Xcode 完全没有经验。我偶然发现了来自 Apple 和其他地方的数十篇教程、文章和问题帖子,我觉得我可能快到了……
这是我要去的地方(请注意,我正在使用 Xcode 4.3 并最初尝试仅部署到 iOS 5.1,我收集到与早期版本的 Xcode 相比,最近有些事情可能发生了变化,但我还是新手这 - 并发现它完全令人困惑和令人费解):
1) 我的 iPhone 上有一个启用了推送的配置文件
2)在我的测试 Xcode 项目中,我将该配置文件选为签名身份(在 Build Settings > Code Signing 中)
3)我在 Summary and Info > Custom iOS Target Properties 下正确设置了我的包标识符*(我认为??)
4) 我在委托的 didFinishLaunchingWithOptions 中调用了 registerForRemoteNotificationTypes
5) 我的委托中有 didRegisterForRemoteNotificationsWithDeviceToken 和 didFailToRegisterForRemoteNotificationsWithError,分别设置为记录设备令牌或错误
6) 我在摘要下选中了启用权利。
7) 选择的权利文件正下方是 Tinker6(我的测试项目的名称),它是在我选中 Enable Entitlements 时自动生成的
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>
/结束更新
当我尝试在我的设备上运行它时,我在 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}
我尝试将 get-task-allow 设置为 NO,将 aps-environment 设置为生产,所有四种可能的组合,同样的事情。
我怎样才能克服这个?这方面的权威文件在哪里?
--更多背景信息--
* 至于捆绑包 id,我仍然不清楚应该如何设置与供应配置文件中的应用程序 ID 和配置文件 ID 相关的设置。在 App Ids 下的 Provisioning 门户中,我有这个(再次打乱了数字和域):
并且设置了捆绑ID的两个地方我有这个:
我完全不确定这些是否正确,或者是否应该将其中一个或两者都设置为 12355456A7.com.whatever.tinker,尽管我在此过程的早期尝试了这些但没有成功......
请注意,我意识到有许多具有相似标题的帖子,但是根据给出的文件名等,它们似乎都已过时,而且事实上没有一个解决方案似乎有用。我希望我提供的更详细的信息将保证高质量的响应。我可能会尽快分配赏金,如果你给出一个高质量的答案,我会奖励你赏金,并通过 twitter 和我的博客宣传你的答案。特别是如果您在您的博客或其他内容上交叉发布一篇非常好的“这里是让一个简单的推送通知应用程序正常工作所需的确切500 个步骤,包括配置和其他任何内容”文章。