发布iOS10 / Xcode 8.0 "Missing Push Notification Entitlement "错误,在为iTunes Store构建之后[英] Post iOS10 / Xcode 8.0 "Missing Push Notification Entitlement" error after build for iTunes Store

本文是小编为大家收集整理的关于发布iOS10 / Xcode 8.0 "Missing Push Notification Entitlement "错误,在为iTunes Store构建之后的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

虽然为iTunes商店构建并提交存档,但我从Apple收到此错误:

亲爱的开发人员,

我们最近的交付已经发现了一个或多个问题 "xxxxxxxxx".您的交付成功,但您可能希望纠正 下次交付中的以下问题:

缺少推送通知权利 - 您的应用程序包含API Apple的推送通知服务,但APS环境授权 从应用程序的签名中缺少.要解决这个问题,请确保您的 在Portallal中启用应用程序ID,可用于推送通知. 然后,使用分发配置文件签署您的应用程序 包括APS-Environmite授权.这将创造正确的 签名,您可以重新提交您的应用程序.请参阅"配置和 开发"在本地和推送通知编程指南中 更多信息.如果您的应用程序不使用Apple推送通知 服务,不需要任何行动.您可以从将来删除API 提交以停止此警告.如果您使用第三方框架, 您可能需要联系开发人员以获取有关删除的信息 API.

已纠正问题后,您可以使用Xcode或应用程序 加载器将新的二进制文件上传到iTunes连接.

问候,

App Store团队

我们尝试重新创建在论坛中建议的配置文件,但我们仍然继续获得相同的电子邮件.

虽然在"功能"选项卡下打开构建的.xcodeproj.似乎打开通知设置似乎已关闭.

推荐答案

尝试在项目的根目录中创建权利文件.

<?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>production</string> <!-- Either development or production -->
  </dict>
</plist>

所以,在Xcode 8之前,Xcode会读取您的配置文件,如果配置文件在其中设置了Push Entitlement,则会为您自动为构建添加授权.由于Xcode 8,这不再是这种情况,并且您必须具体指定您使用的权利.

其他推荐答案

此答案下面链接的答案比在此所建议的解决方案更容易.您可以简单地使用Xcode UI来修复,而无需手动创建任何新文件.只需翻转开关即可在功能部分中推送通知.

https://stackoverflow.com/a/39420213/4076298

其他推荐答案

appcelerator实际上在即将发布的5.5.1版中实际修复了这个问题,可以从这里下载: http://builds.appcelerator.com.s3.amazonaws.com/index.html#5_5_x

本文地址:https://www.itbaoku.cn/post/1938163.html

问题描述

Whilst building for iTunes store and submitting the archive, I receive this error from apple:

Dear developer,

We have discovered one or more issues with your recent delivery for "XXXXXXXXX". Your delivery was successful, but you may wish to correct the following issues in your next delivery:

Missing Push Notification Entitlement - Your app includes an API for Apple's Push Notification service, but the aps-environment entitlement is missing from the app's signature. To resolve this, make sure your App ID is enabled for push notification in the Provisioning Portal. Then, sign your app with a distribution provisioning profile that includes the aps-environment entitlement. This will create the correct signature, and you can resubmit your app. See "Provisioning and Development" in the Local and Push Notification Programming Guide for more information. If your app does not use the Apple Push Notification service, no action is required. You may remove the API from future submissions to stop this warning. If you use a third-party framework, you may need to contact the developer for information on removing the API.

After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.

Regards,

The App Store team

We tried recreating the provisioning profiles as suggested in the forums but still we keep getting the same email.

Whilst opening the built .xcodeproj under the "Capabilities" tab the push notification settings seems to be turned off.

推荐答案

Try creating an Entitlements.plist file in the root of your project.

<?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>production</string> <!-- Either development or production -->
  </dict>
</plist>

SO, before Xcode 8, Xcode would read your provisioning profile and if the profile had the push entitlement set in it, would automagically add the entitlement to the build for you. Since Xcode 8, this is no longer the case, and you must specifically specify the entitlements you use.

其他推荐答案

This answer linked below is a little easier than the solutions suggested here. You can simply fix using the xCode UI without having to manually create any new files. Just flip the switch for push notifications in the Capabilities section.

https://stackoverflow.com/a/39420213/4076298

其他推荐答案

Appcelerator have actually fixed this issue in an upcoming release 5.5.1 and can be downloaded from here: http://builds.appcelerator.com.s3.amazonaws.com/index.html#5_5_X