我正在试图让推送通知工作!我跟着this tutorial基本无济于事。我已经删除了几次xcode,重做整个苹果开发证书,清理了几次登录钥匙串。这有助于解决一些问题,但最后我仍然陷入困境。
我认为我需要做什么(通过阅读其他人的经验): 1)我的openssl证书和密钥需要与苹果服务器通信 2)具有此openssl证书的app id具有与之关联的配置文件。 3)构建(在xcode中)需要具有与之关联的适当供应配置文件 4)构建标识符(在xcode中)需要与具有供应配置文件的应用程序ID具有相同的文本 4)???
据我所知,所有这些都可以:
MacBook-Pro:apple_dev_certification nflacco $ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -key xxx.pem -cert xxx.pem输入 密码为xxx.pem:CONNECTED(00000003)depth = 1 / C = US / O =委托, Inc./OU=www.entrust.net/rpa通过引用并入/ OU =(c)2009 Entrust,Inc. / CN = Entrust证书颁发机构 - L1C验证 错误:num = 20:无法获得本地发行人证书.....
2,3,4)当我创建一个新项目时,它永远不会获得正确的应用程序ip(构建设置 - >信息包标识符)。如果我的配置文件与“com.xxx”匹配,则应用程序将始终为“com.xxx.FOO”,因此选择了默认的IOS Team Provisioning Profile。我这样运行应用程序,然后得到:
2011-10-22 22:42:45.086 VVV [3552:707]无法获得令牌,错误: 错误域= NSCocoaErrorDomain代码= 3000“无效'aps-environment' 为应用程序“UserInfo = 0x16d140找到的权利字符串 {NSLocalizedDescription =没有有效的'aps-environment'权利字符串 找到申请}
4 contd)我想使用我的配置文件,该配置文件使用我的app id并启用了push,因此我将应用程序标识符更改为“com.xxx”,并在构建菜单的代码签名选项中选择正确的配置文件。将它安装在我的iPhone上,同样的事情:(
我能想到的唯一事情:
关于我应该在这做什么的任何想法?这不可能是这么复杂。我应该擦拭我的高清并从头开始重新安装并希望它有效吗?
答案 0 :(得分:14)
你知道它是什么吗?我的应用ID。
foo.bar被视为foo.bar。*(不允许)
你必须有foo.bar.xxx
答案 1 :(得分:0)
我认为对于push,你需要一个具有aps-environment密钥的Entitlements.plist文件,其值为“production”。我刚刚完成了这个工作(再次)为我的应用程序。这里的一些其他答案帮助我在完成存档后弹出了“管理器”窗口,但随后我收到了您的错误。
我也不得不退出&以某种频率重新启动XCode,触摸实际没有改变的设置,删除旧的,推前推送的证书并添加新的等等.XCode中的很多设置实际上没有改变,但它似乎触摸他们让它开始工作。