我一直在非常努力地创建一个简单的iOS应用程序,它可以接收推送通知。我这样做的唯一原因是为了建立一个程序,供其他团队成员使用,并且无法在网络上找到最新的此类指令的工作版本。我们的店对于iOS开发来说是很新的,我个人对iOS开发和Xcode完全没有经验。我偶然浏览了来自苹果和其他地方的几十篇教程、文章和麻烦文章,我觉得我可能就快到了。
这里是我必须使用的地方(请注意,我正在使用Xcode 4.3,并且最初尝试只部署到iOS 5.1中,据我所知,与早期版本的Xcode相比,有些事情最近可能发生了变化,但我还是对所有这些都不熟悉--发现它完全令人困惑和费解):
1)我的iPhone上有一个配置配置文件,它启用了推送
2)在我的测试Xcode项目中,我已经选择了供应配置文件作为签名标识(在Build > provisioning中)

3)我已经在汇总和信息>自定义iOS目标属性下正确设置了包标识符*(我认为?)
4)我的代表的didFinishLaunchingWithOptions中有didFinishLaunchingWithOptions
5)我的委托中有和,设置为记录设备令牌或错误
6)我已经在摘要下检查了启用的权利。
7)在所选的权利文件下面是Tinker6 (我的测试项目的名称),它是在我选中“启用权利”时自动生成的。
8)在Tinker6.应享权利文件中,我得到了以下内容(根据网上的几个不同的帖子,我收集到的内容是正确的,但我无法从苹果自己那里找到任何明确的信息):

更新的
9)此外,我在没有权利文件的情况下尝试了整个过程,并得到了基本相同的结果。
10)我的移动设备文件内容包括正确的权利(我已经对号码和域进行了加密,但在结构上是一样的):
<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>/end更新
当我试图在我的设备上运行这个程序时,我会在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-任务-允许不,aps-环境生产,所有四个可能的组合,同样的事情。
我怎么能熬过这一关?这方面的最终文件在哪里?
-进一步的背景如下-
*至于包id,我仍然不清楚应该如何在供应配置文件中设置应用程序id和配置文件id。在应用程序In下的供应门户中,我有这样的内容(同样地,对数字和域进行了加扰):

两个地方的包id是设置的,我有:


我一点也不确定这些是正确的,也不确定是否应该将其中一个或两者设置为12355456A7.com.whatever.tinker,尽管我在此过程中已经尝试过这些方法,但没有成功。
Note我意识到有许多类似标题的帖子,但是基于文件名和给定的等等,它们似乎都过时了,而且这些解决方案似乎都没有用。我希望我给出的更高层次的细节将保证一个高质量的反应。我可能会尽快分配一个赏金,如果你给出一个高质量的答案,从而找到一个解决方案,我将奖励你,以及通过推特和我的博客推广你的答案。特别是如果你在博客上发表了一篇非常好的文章“这里有500个步骤,你需要得到一个简单的推送通知应用程序,包括准备和其他任何东西”。
发布于 2012-06-19 16:19:45
答案是:重新开始,做同样的事情,但是创建一个新的供应配置文件,并安装它。起作用了。检查所有的细节(在流动条款中的权利)看上去与我问题中的所有内容完全一样。但现在起作用了。苹果:哇?
当然,如果可以删除供应配置文件,显然可以这样做。但由于这是不可能的,我不想让我们的团队充斥着一堆测试概要文件。尽管如此,最后还是失去了耐心,无论如何都试过了,但最终还是成功了。什么都行。
发布于 2012-06-18 14:17:05
如果在为push配置app ID之前创建了配置配置文件,请尝试重新生成配置配置文件。
iOS供应门户->配置->您的证书->编辑->编辑->下载新的配置
为我工作过。现在我可以用推了。
发布于 2012-06-14 14:20:07
首先,除非要添加供应配置文件中不存在的自定义键/值对,否则不需要权利文件。当您的应用程序构建,任何权利从供应配置文件将复制到应用程序。
考虑到您仍然会看到一条关于缺少权利的错误消息,我只能假设代码签名选项在构建设置中不正确。
您需要确保为"Debug“配置选择了正确的配置文件,并且为了安全起见,您已经为"Debug”和标记为“任意iOS SDK”的子节点选择了正确的配置文件:

尽管这个屏幕截图显示了所选的“自动开发人员”配置文件,但是从下拉列表中选择您想要的精确配置文件,只是为了测试目的。可能是Xcode自动选择了与您想要的配置文件不同的配置文件。
此外,一定要做一个干净的构建,完全删除应用程序从你的设备,等等。这只是为了确保你没有一些老绒毛徘徊。
https://stackoverflow.com/questions/10987102
复制相似问题