在使用xcode 8
进行推送通知设置时,与xcode 7
不同的是,xcode 8
需要开发者打开推送通知能力开关(位于TARGETS -> AppName -> Capabilities
,如下图所示)。
然后它将生成AppName.entitlements文件,如下所示
//AppName.entitlements
<key>aps-environment</key>
<string>development</string>
但是对于生产版本的App,如果我们将字符串更改为
//AppName.entitlements
<key>aps-environment</key>
<string>production</string>
然后,功能会显示一个警告
而且似乎无论在aps-environment中指定哪个字符串值,我们仍然可以在application:didRegisterForRemoteNotificationsWithDeviceToken:
中获取推送设备令牌
那么,推送通知权限的正确设置是什么?谢谢
发布于 2016-09-10 05:52:41
我今天在Xcode8GM中遇到了这个问题。在禁用该设置、删除我的开发人员门户配置文件并重新生成它并再次启用该设置之后,我能够消除Xcode中的警告。请记住,我没有摆弄授权文件。我把它留在了开发环境中,在归档之后,我得到了正确的aps环境设置(生产)。
即使在通用汽车中,Xcode似乎仍然非常有buggy
发布于 2016-12-15 13:01:32
我的问题是我的pusher客户端已经过时了,只能成功地推送调试令牌。我仍然在努力修复的另一个问题是,我只能在启用遗留api的情况下通过gym导出应用程序,这并没有将apns-environment设置为“production”,并在“embedded-Mobile.provision”文件中将其设置为“development”。然而,我现在已经能够通过xcode组织者成功地部署该应用程序来使用apns(prod)。
发布于 2016-12-21 18:01:31
我认为更好的解决方案是打开项目包并打开project.pbxproj
更改CODE_SIGN_ENTITLEMENTS
CODE_SIGN_ENTITLEMENTS = "your-app/production.entitlements";
https://stackoverflow.com/questions/39266891
复制相似问题