xcode 8推送通知function和授权文件设置
当使用xcode 8
进行推送通知设置时,与xcode 7
不同, xcode 8
需要开发人员打开推送通知function开关(位于TARGETS -> AppName -> Capabilities
,如下图所示),
那么它将生成AppName.entitlements文件如下
//AppName.entitlements <key>aps-environment</key> <string>development</string>
但对于生产版本的应用程序,如果我们改变string
//AppName.entitlements <key>aps-environment</key> <string>production</string>
那么能力显示警告
并且似乎无论在aps-environment中指定了哪个string值,仍然可以在application:didRegisterForRemoteNotificationsWithDeviceToken:
处获取推送设备标记application:didRegisterForRemoteNotificationsWithDeviceToken:
那么推送通知权利的正确设置是什么? 谢谢
我今天在Xcode 8 GM上苦苦挣扎。 禁用设置后,删除我的开发人员门户configuration文件并重新生成它,并再次启用设置,我能够消除Xcode中的警告。 请记住,我没有摆弄权利文件。 我把它留在开发环境,归档后我得到了正确的aps环境设置(生产)。
似乎即使在通用汽车公司Xcode仍然是非常错误的
我的问题是我的推客户端已经过时,只能成功地debugging令牌。 其他问题,我仍然在努力解决的问题是,我只能通过健身房导出应用程序与legacy-api启用,这不是将apns环境设置为“生产”,而是将其作为“开发”embedded式mobile.provision'文件。 然而,我已经能够通过Xcode组织者成功地部署应用程序来与apns(prod)一起工作。
我认为更好的解决scheme是打开项目包并打开project.pbxproj
更改CODE_SIGN_ENTITLEMENTS
CODE_SIGN_ENTITLEMENTS = "your-app/production.entitlements";