aps-环境总是在发展

aps-environment is always development

我创建了启用了 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>

Xcode 中存在一个已知错误,手动将其设置为 'production' 会导致 Xcode 使用 'Fix Issue' 按钮在您的权利配置旁边显示错误。单击它会将其设置回 'development' 这是 不是 预期的功能。正如我所说,这是一个已知问题,我相信我在第一次发现它时就提交了雷达。

它已在 Xcode 8.3 beta 2 中修复。同时,手动将其设置为 'production' 然后忽略 Xcode 给你的错误,你的项目将正常运行很好。

您不能在 debug/development 中使用生产证书。即使你这样做了,那么,当你 'Archive' 时,Xcode 会自动将其设置为生产 (Apple reference)。当您尝试将您的应用程序提交到 iTunes 连接以进行 TestFlight/Review 或临时部署时,您会看到这一点。

Xcode 8:

Xcode 9:

XCode 10.2:

如果您在存档之前将目标更改为 "Generic iOS Device",它会将 aps 环境变量设置为生产环境。如果您将目标设置为您的设备进行存档,它将使用设置为开发的 aps 环境变量进行存档。