aps-environment始终是发展

AJ *_*jay 59 objective-c apple-push-notifications ios

我已经启用了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>
Run Code Online (Sandbox Code Playgroud)

She*_*uka 82

您无法在调试/开发中使用生产证书.当您执行"归档"时,Xcode会自动将其设置为生产,当您尝试将应用程序提交到iTunes Connect for TestFlight/Review或进行adHoc部署时,您可以看到此信息.

Xcode 8: Xcode 8

Xcode 9: Xcode 9

  • 当我从 xcode 运行我的应用程序时,推送通知有效,但是当我将构建上传到 appstore 并下载它以使用 testflight 进行测试时,它不起作用。 (3认同)
  • @AbhishekPandya在您推送服务器时,您必须从开发人员更改为发布证书以使用TestFlight进行测试,并使其与官方AppStore版本一起使用. (2认同)
  • 它由 Xcode 根据 [Apple 文档](https://developer.apple.com/documentation/bundleresources/entitlements/aps-environment) 自动更新 (2认同)

Jac*_*ing 14

Xcode中存在一个已知错误,即手动将其设置为"生产"会导致Xcode在权利配置旁边显示错误,并显示"修复问题"按钮.单击此按钮将其设置回"开发"这不是预期的功能.正如我所说,这是一个众所周知的问题,我相信当我第一次发现雷达时,我已经提出了雷达.

它已在Xcode 8.3 beta 2中修复.同时,手动将其设置为"生产",然后忽略Xcode给出的错误,您的项目将正常工作.

  • 请注意,当您存档以供发布时,Xcode会自动将开发更改为生产.您可以在查看IPA以进行上传时进行确认. (5认同)
  • Xcode 13 上不再出现错误,但不遵守“生产”的 APN 环境设置。Xcode 始终在调试模式下使用“开发”设置构建应用程序。您可以通过打开编译后的应用程序包来验证它,并找到其中的embedded.provisionprofile文件。 (2认同)

piz*_*ter 6

XCode 10.2:

如果在存档之前将目标更改为“通用iOS设备”,它将把aps-environment变量设置为生产。如果在将目标设置为设备的情况下进行存档,则存档的aps-environment变量将设置为development。