当我尝试将应用程序上传到 TestFlight 时,Apple 不断向我发送此邮件
缺少推送通知权利 - 您的应用似乎包含用于注册 Apple 推送通知服务的 API,但应用签名的权利不包括“aps-environment”权利。如果您的应用程序使用 Apple 推送通知服务,请确保您的应用程序 ID 在配置门户中启用了推送通知,并在使用包含“aps-environment”权利的分发配置配置文件签署您的应用程序后重新提交。有关详细信息,请参阅本地和推送通知编程指南中的“供应和开发”。如果您的应用程序不使用 Apple 推送通知服务,则无需执行任何操作。您可以从以后的提交中删除 API 以停止此警告。如果您使用第三方框架,您可能需要联系开发人员以获取有关删除 API 的信息。
我正在尝试使用推送通知。
我的 App ID看起来像这样。
我的配置文件设置为使用该 App ID。
那么我做错了什么? 我如何检查 XCode 是否使用了正确的配置文件?
编辑 我正在使用 Xamarin Studio,所以我必须在 XCode 中正确设置配置文件
最佳答案
获取开发者构建
让您的开发人员为您提供使用他们的普通“iPhone 开发人员” key 签名的 .IPA 文件。他们一直这样做是为了在他们拥有的物理设备上测试应用程序
整理好您的工具
您将需要以下内容:
- “移动配置文件”
- 一个“Entitlements.plist”
- “iOS 分发证书”
- iReSign OS X 应用程序(或者您可以使用命令行)
<强>1。移动配置文件
从 “iOS Provisioning Profiles” 下载(或创建然后下载)这个Apple 开发者成员(member)中心内。
<强>2。权利 Plist
您实际上需要自己制作。您将需要两个值来生成所需的字符串。您需要 App ID Prefix 和 Bundle ID。您可以在成员(member)中心的“Certificates, Identifiers & Profiles”中找到它们
打开您最喜欢的文本/代码编辑器并将其放入。然后更新以下代码中的两个值并将其保存为“entitlements.plist”。
<?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>
<key>get-task-allow</key>
<false/>
</dict>
</plist>
如果您不使用推送通知,则需要删除以下两行:
<key>aps-environment</key>
<string>production</string>
<强>3。 iOS 分发证书
你应该已经安装好了。如果没有,您可以通过 Xcode 或成员(member)中心安装它。
- Xcode > 首选项 > 帐户
- 找到或添加您的 Apple ID,然后点击“查看详细信息”
- “+”“iOS Distribution”(或 iOS Development)然后刷新(左下角)
关于iOS - 缺少推送通知授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36159486/