在iTunes Store构建后发布iOS10 / Xcode 8.0“缺少推送通知权限”错误

时间:2016-09-20 12:26:35

标签: titanium appcelerator appcelerator-titanium

在为iTunes商店构建并提交存档时,我从apple收到此错误:

  

亲爱的开发人员,

     

我们发现您最近交付的一个或多个问题   “XXXXXXXXX”。您的交付成功,但您可能希望更正   您下次发货时会出现以下问题:

     

缺少推送通知权利 - 您的应用包含适用于的API   Apple的推送通知服务,但是aps-environment权利   应用程序的签名中缺少。要解决此问题,请确保您的   在Provisioning Portal中为推送通知启用了App ID。   然后,使用分发配置文件对您的应用进行签名   包括aps-environment权利。这将创建正确的   签名,您可以重新提交您的应用程序。请参阅“供应和配置”   开发“在本地和推送通知编程指南中   更多信息。如果您的应用不使用Apple推送通知   服务,不需要采取任何行动。您可以从将来删除API   提交以停止此警告。如果您使用第三方框架,   您可能需要联系开发人员以获取有关删除的信息   API。

     

纠正问题后,您可以使用Xcode或Application   将新二进制文件上载到iTunes Connect的加载程序。

     

此致

     

App Store团队

我们尝试按照论坛中的建议重新创建配置文件,但我们仍然会收到相同的电子邮件。

在“功能”选项卡下打开内置的.xcodeproj时,推送通知设置似乎已关闭。

3 个答案:

答案 0 :(得分:15)

尝试在项目的根目录中创建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>production</string> <!-- Either development or production -->
  </dict>
</plist>

因此,在Xcode 8之前,Xcode会读取您的配置文件,如果配置文件中设置了推送权利,则会自动为您构建权限。从Xcode 8开始,情况就不再如此,您必须明确指定您使用的权利。

答案 1 :(得分:2)

下面链接的答案比这里建议的解决方案容易一些。您可以使用xCode UI进行修复,而无需手动创建任何新文件。只需在“功能”部分中翻转推送通知的开关即可。

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

答案 2 :(得分:0)

Appcelerator实际上已在即将发布的5.5.1版本中修复此问题,可以从此处下载:http://builds.appcelerator.com.s3.amazonaws.com/index.html#5_5_X