苹果推送通知 - 没有有效的'aps-environment'尝试过我在网上看过的所有解决方案?

时间:2011-10-23 06:01:15

标签: iphone ios push-notification apple-push-notifications

我正在试图让推送通知工作!我跟着this tutorial基本无济于事。我已经删除了几次xcode,重做整个苹果开发证书,清理了几次登录钥匙串。这有助于解决一些问题,但最后我仍然陷入困境。

我认为我需要做什么(通过阅读其他人的经验): 1)我的openssl证书和密钥需要与苹果服务器通信 2)具有此openssl证书的app id具有与之关联的配置文件。 3)构建(在xcode中)需要具有与之关联的适当供应配置文件 4)构建标识符(在xcode中)需要与具有供应配置文件的应用程序ID具有相同的文本 4)???

据我所知,所有这些都可以:

  1. 我的ssl证书+密钥与苹果服务器很好地对话(忽略错误,我最终仍然得到提示):
  2.   

    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上,同样的事情:(

    我能想到的唯一事情:

    • 我的配置文件不正确?我做了几个新的 时间,删除了xcode管理器中的所有现有的,但这个 没有帮助。
    • 代码仍在使用团队资料而不是我的新资料进行签名 一?有没有办法确保这个?

    关于我应该在这做什么的任何想法?这不可能是这么复杂。我应该擦拭我的高清并从头开始重新安装并希望它有效吗?

2 个答案:

答案 0 :(得分:14)

你知道它是什么吗?我的应用ID。

foo.bar被视为foo.bar。*(不允许)

你必须有foo.bar.xxx

enter image description here

答案 1 :(得分:0)

我认为对于push,你需要一个具有aps-environment密钥的Entitlements.plist文件,其值为“production”。我刚刚完成了这个工作(再次)为我的应用程序。这里的一些其他答案帮助我在完成存档后弹出了“管理器”窗口,但随后我收到了您的错误。

我也不得不退出&以某种频率重新启动XCode,触摸实际没有改变的设置,删除旧的,推前推送的证书并添加新的等等.XCode中的很多设置实际上没有改变,但它似乎触摸他们让它开始工作。