苹果推送通知 – 没有有效的“APS环境”尝试了我在网上看到的所有解决scheme?

我正在试图让推送通知工作! 我正在按照这个教程基本上没有用。 我已经删除了xcode几次,重做了整个苹果开发证书,几次清理我的login钥匙串。 这有助于解决一些问题,但最终我仍然陷入困境。

我认为我需要做的事情(从阅读其他人的经验):1)我的openssl证书和密钥需要与苹果服务器通话2)具有此openssl证书的应用程序ID具有与其关联的供应configuration文件。 3)构build(在xcode中)需要具有与之相关的适当的configuration文件4)构build标识符(在xcode中)需要与configuration文件具有与应用程序ID相同的文本4)

据我所知,这一切都是可以的:

  1. 我的SSL证书+键很好地与苹果服务器(忽略错误,我终于得到提示):

MacBook Pro:apple_dev_certification nflacco $ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -key xxx.pem -cert xxx.peminputxxx.pem的密码短语:CONNECTED(00000003)depth = 1 / C = US / O = Entrust,Inc./OU = www.entrust.net/rpa通过引用合并/ OU =(c)2009 Entrust,Inc./CN=Entrust证书颁发机构 – L1Cvalidation错误:num = 20:无法获得本地发行人证书…..

2,3,4)当我创build一个新的项目,它从来没有得到正确的应用IP(生成设置 – >信息包标识符)。 如果我的configuration文件匹配“com.xxx”,那么应用程序将始终为“com.xxx.FOO”,因此将select默认的IOS团队configurationconfiguration文件。 我运行这样的应用程序,并得到:

2011-10-22 22:42:45.086 VVV [3552:707]无法获得令牌,错误:错误域= NSCocoaErrorDomain代码= 3000“无效的”API-环境“授权stringfind应用程序”UserInfo = 0x16d140 {NSLocalizedDescription =找不到有效的“aps-environment”授权string用于应用程序}

4 contd)我想使用我的供应configuration文件,使用我的应用程序ID启用推,所以我更改应用程序标识符为'com.xxx',并在生成菜单中的代码签名选项中select适当的configuration文件。 安装在我的iPhone上,同样的事情:(

我能想到的唯一的事情是:

  • 我的configuration文件不正确? 我做了一个新的几次,删除了所有在Xcode组织者现有的,但这并没有帮助。
  • 代码仍然得到团队configuration文件,而不是我的新签名? 有没有办法确保这一点?

任何想法,我应该在这里做什么? 这不可能是如此复杂。 我应该只是擦拭我的高清,重新安装从头开始,希望它的作品?

你知道这是什么? 我的应用ID

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

你必须有foo.bar.xxx

在这里输入图像说明

我认为推动你需要一个Entitlements.plist文件,它有一个aps环境密钥,值为“生产”。 我刚刚完成获取这个工作(再次)为我的应用程序。 这里的其他一些答案帮助我让组织者窗口popup后,我做了档案,但后来我得到你的错误。

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