xcode8打出的包,为什么收不到推送消息。
2016-12-23 本文已影响445人
飞雨2013
突然发现xcode8工程,注册远程通知后拿不到deviceToken。
首先呢,我们先比较一下xcode7,xcode8打开推送的开发后
所发生的事情
xcode7
xcode8
xcode8在打开时,会在entitlement添加
<key>aps-environment</key>
<string>production</string>
字段
(已经有entitlement文件的话,会直接加入该字段,没有的话会新增entitlement文件)
这里有个问题是APS Environment的环境怎么是development的,这个不用担心了。苹果已经做了处理:也就是说会依据我们所选的证书配置成自动转换了
dis证书的话,就对应:
<key>aps-environment</key>
<string>production</string>
那么我该如何查看environment中的aps-environment配置的环境是否正确呢,首先我们查看包中的environmen文件,这是最直接的。要是找不到怎么办呢,不用担心。
codesign --display --entitlements :- ./test.app
codesign --display --entitlements :- 加上你的.app路径,回车就好了。
信息如下了:
<dict>
<key>application-identifier</key>
<string>********.********</string>
<key>aps-environment</key>
<string>production</string>
<key>beta-reports-active</key>
<true/>
<key>com.apple.developer.team-identifier</key>
<string>**********</string>
<key>get-task-allow</key>
<false/>
</dict>