提交Magazines & Newspapers类应用遇iTunes Connect错误,设Newsstand flag仍无效
解决Magazines & Newspapers类别提交报错的问题
我之前帮开发者处理过完全相同的问题,你遇到的报错核心是App Store对Magazines & Newspapers类应用有强制要求:必须包含至少一个自动续订型内购项目,仅仅在info.plist里设置Newsstand标识是远远不够的。按以下步骤操作就能解决:
1. 在App Store Connect创建自动续订订阅项目
这是最关键的一步,苹果后台必须能找到你的订阅配置:
- 登录App Store Connect,进入你的应用详情页
- 切换到「功能」标签页,选择「内购项目」
- 点击右上角的「+」按钮,选择自动续订订阅类型(注意:必须是这个类型,消耗型、非续订型都不满足要求)
- 填写订阅的必要信息:产品ID(要和你代码里用的一致)、订阅名称、价格层级、订阅周期(比如月度、年度)等,最后把状态设置为「准备提交」
2. 确认info.plist的配置正确
虽然你已经设置了,但再检查一遍避免低级错误:
- 确保
UINewsstandApp键的类型是布尔值,值设为YES(不要写成字符串"YES",否则不生效) - 如果你是iOS 10及以上版本,确认
NSAppTransportSecurity没有阻止内购相关的网络请求(默认配置一般没问题,除非你自定义了严格的规则)
3. 代码中关联订阅产品(至少配置产品ID)
苹果会检查你的应用是否有调用内购API的逻辑,所以至少要在代码中添加获取订阅产品的基础逻辑:
- 使用
SKProductsRequest请求你在后台创建的订阅产品ID - 确保能正确处理
SKProductsResponse的回调(不需要完全实现购买流程,但基础的请求逻辑要有)
4. 重新提交应用
完成以上步骤后,重新打包上传应用,然后在提交审核时:
- 确认选择的类别是Magazines & Newspapers
- 在「内购项目」环节,勾选你创建的自动续订订阅项目,确保它和当前提交版本关联
常见坑提醒
- 不要尝试用其他类型的内购项目替代自动续订订阅,这是Newsstand类别的硬性规则,没有例外
- 内购项目的状态必须是「准备提交」,草稿状态的项目不会被系统识别
- 如果之前创建过内购项目,要检查是否和当前应用正确关联,避免选错了应用
内容的提问来源于stack exchange,提问作者Divyesh Savaliya
相关产品推荐
相关产品推荐

