aps-environment 一直是开发环境

84

我已经创建了启用APNS的应用程序ID,并配置了开发和生产证书。

现在当我创建授权时,即使我将供应配置文件更改为iTunes部署,它始终显示为开发环境,授权也被显示为开发环境。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
</dict>
</plist>

2
根据苹果文档,它的值会被Xcode自动更新。 - DawnSong
3个回答

112

在调试/开发中,您不能使用生产证书。即使这样做了,当您“归档”时,Xcode也会自动将其设置为生产环境 (Apple 参考文献)。当您尝试提交应用程序到iTunes connect以进行TestFlight/审核或Adhoc部署时,您可以看到这一点。

Xcode 8: Xcode 8

Xcode 9: Xcode 9


3
当我从Xcode运行我的应用时,推送通知可以正常工作,但是当我将构建上传到App Store并使用TestFlight下载进行测试时,它无法工作。 - Abhishek Pandya
2
在你的推送服务器上,你必须从开发者证书更改为发布证书,以便使用TestFlight进行测试,并使其与官方AppStore发布配合工作。 - Shebuka
有没有办法编辑 info.plist,这样在上传到应用商店时就不会看到这个屏幕? - Crashalot
@Shebuka,你能告诉我在Xcode 10中我可以在哪里找到这个屏幕吗? - Andrey M.
2
根据Apple文档,它会被Xcode自动更新。 - DawnSong
显示剩余4条评论

15

XCode 10.2:

在打包之前,将您的目标更改为“通用iOS设备”,它会将aps-environment变量设置为生产环境。如果使用目标设置为您的设备进行存档,则会使用开发环境设置进行存档。


14

在Xcode中存在一个已知的bug,手动将此设置为“production”会导致Xcode在你的权限配置旁边显示一个错误并附带一个“修复问题”按钮。点击这个按钮会将其设置回“development”,这不是预期的功能。正如我所说,这是一个已知的问题,当我第一次发现它时,我相信我提交了一个radar。

在Xcode 8.3 beta 2中已经修复了此问题。同时,手动将其设置为“production”,然后忽略Xcode给出的错误,你的项目将工作得很好。


1
如果我这样做,就无法实现归档。 - AJ Sanjay
太好了!我的临时构建无法上传到设备。在我将其从“开发”更改为“生产”后,它成功了。非常感谢。 - Gautam Jain
7
请注意,当您为发布存档时,Xcode将自动将开发模式更改为生产模式。上传前审核IPA文件可确认此更改。 - jwinn
1
我正在使用 Xcode 10.3,并且仍然存在这个问题。很高兴知道在归档时它会自动使用 production - CyberMew
2
Xcode 13上已经没有错误了,但是“生产”APN环境设置并没有被遵守。在调试模式下,Xcode总是使用“开发”设置构建应用程序。您可以通过打开已编译应用程序的包并在其中找到embedded.provisionprofile文件来验证它。 - Jonny
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接