【发布时间】:2014-11-27 21:47:24
【问题描述】:
我们有一个基于 Cordova 的 iOS 应用程序,它不使用推送通知。从 Cordova 3.5.0 开始,我们向应用商店提交的每个内容都会生成一封电子邮件,通知我们我们的应用包含用于注册 Apple 推送通知服务的 API,但没有推送通知权利。
该应用程序每次都被接受,因为我们实际上并没有将推送通知用于任何事情。但是,如果 Apple 决定更改其关于这些 API 引用是否可接受的政策,我想避免触发此警告。
我们在 Cordova 的早期版本中没有遇到过这个问题,并且我们自己也没有在 Objective-C 中做过任何工作。这是 Cordova 3.5 的已知问题吗?搜索已经产生了一些有类似问题的人,但我只为想要添加推送权利的人找到了解决方案(而不是找出引用推送 API 的位置并删除它)。我查看了 Cordova issues ML,但没有找到任何东西。人们知道的任何其他线索将不胜感激!
使用的插件:
org.apache.cordova.console
org.apache.cordova.device
org.apache.cordova.file
org.apache.cordova.inappbrowser
org.apache.cordova.media
org.apache.cordova.network-信息
org.apache.cordova.splashscreen
相关邮件sn-p,具体信息替换为[ ]:
来自:iTunes Store
日期:2014 年 9 月 17 日,星期三,下午 3:49
主题:iTunes Connect:您的应用“[appName]”(Apple ID:[id])存在一个或多个问题
致:[开发者]尊敬的开发者,
我们发现您最近为“[app]”交付的一个或多个问题。您的交付成功,但您可能希望在下次交付时更正以下问题:
缺少推送通知权利 - 您的应用似乎包含用于注册 Apple 推送通知服务的 API,但应用签名的权利不包括“aps-environment”权利。如果您的应用程序使用 Apple 推送通知服务,请确保您的应用程序 ID 在配置门户中启用推送通知,并在使用包含“aps-environment”权利的分发配置文件签署您的应用程序后重新提交。有关详细信息,请参阅本地和推送通知编程指南中的“供应和开发”。如果您的应用程序不使用 Apple 推送通知服务,则无需执行任何操作。您可以从以后的提交中删除 API 以停止此警告。如果您使用第三方框架,您可能需要联系开发者以获取有关移除 API 的信息。
纠正问题后,您可以使用 Xcode 或 Application Loader 将新的二进制文件上传到 iTunes Connect。
问候,
App Store 团队
【问题讨论】:
-
您能找到解决此问题的方法吗?
-
我也收到了同样的警告,虽然我没有在任何地方使用推送通知。
-
更新:抱歉回复慢。我们还没有找到一个简单的解决方案,因为涉及推送注册的代码似乎包含在默认的 Cordova 包中(截至 4.0 仍然是这种情况)。我们尚未解决此问题,因为它尚未导致应用被拒绝。 R21 的代码 sn-p 和位置似乎确实是问题的根源,因此我将其标记为已接受。也感谢 Krik 提供 API 调用和文档。