iOS - 缺少推送通知授权

标签 ios xcode xamarin certificate

当我尝试将应用程序上传到 TestFlight 时,Apple 不断向我发送此邮件

缺少推送通知权利 - 您的应用似乎包含用于注册 Apple 推送通知服务的 API,但应用签名的权利不包括“aps-environment”权利。如果您的应用程序使用 Apple 推送通知服务,请确保您的应用程序 ID 在配置门户中启用了推送通知,并在使用包含“aps-environment”权利的分发配置配置文件签署您的应用程序后重新提交。有关详细信息,请参阅本地和推送通知编程指南中的“供应和开发”。如果您的应用程序不使用 Apple 推送通知服务,则无需执行任何操作。您可以从以后的提交中删除 API 以停止此警告。如果您使用第三方框架,您可能需要联系开发人员以获取有关删除 API 的信息。

我正在尝试使用推送通知。

我的 App ID看起来像这样。

我的配置文件设置为使用该 App ID。

那么我做错了什么? 我如何检查 XCode 是否使用了正确的配置文件?

编辑 我正在使用 Xamarin Studio,所以我必须在 XCode 中正确设置配置文件

最佳答案

获取开发者构建

让您的开发人员为您提供使用他们的普通“iPhone 开发人员” key 签名的 .IPA 文件。他们一直这样做是为了在他们拥有的物理设备上测试应用程序

整理好您的工具

您将需要以下内容:

  1. “移动配置文件”
  2. 一个“Entitlements.plist”
  3. “iOS 分发证书”
  4. iReSign OS X 应用程序(或者您可以使用命令行)

<强>1。移动配置文件

“iOS Provisioning Profiles” 下载(或创建然后下载)这个Apple 开发者成员(member)中心内。

enter image description here

<强>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)中心安装它。

  1. Xcode > 首选项 > 帐户
  2. 找到或添加您的 Apple ID,然后点击“查看详细信息”
  3. “+”“iOS Distribution”(或 iOS Development)然后刷新(左下角)

关于iOS - 缺少推送通知授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36159486/

相关文章:

ios - 没有这样的文件或目录 XCODE 7

IOS:如何使用 ios google drive sdk API 下载 Google Docs 文件?

ios - XCode 7调试区工具栏区别

c# - 将 Listview 项目计数绑定(bind)到 Xamarin Forms 中的标签可见性

ios - NSObject 的类别可用于每个 NSObject 子类,即使没有在任何地方导入该类别的 .h 文件

ios - CFURLCreateDataAndPropertiesFromResource 已弃用。并寻找替代品

ios - 覆盖 touchesBegan

swift - 快速理解断点和线程

c# - 仅当应用程序处于前台 ios 时才接收 Firebase 推送通知

android - 小米拒绝单声道共享运行时安装请求(xamarin.android)