iOS已上架应用新增IAP是否必须重新发布构建版本?
结论
你不需要发布新的应用构建版本,当前生产环境无法使用新建的MyIAP1商品,核心原因是新创建的IAP商品没有走完苹果的官方审核流程,没有在生产环境正式生效,和代码逻辑无关。
具体原因说明
- Xcode本地调试、TestFlight沙盒测试的环境规则和生产环境不同:沙盒环境下只要你在App Store Connect后台创建了对应ID的IAP、补全了基础信息,就能正常拉取商品、完成测试购买,不会校验IAP的正式审核状态,这也是你本地调试正常但生产环境失效的核心原因。
- 生产环境下,只有状态为「已批准」且勾选了「可供销售」的IAP商品,才能被线上版本的App正常拉取到。你刚创建的
MyIAP1目前大概率处于「准备提交」「等待审核」或者「被驳回」的状态,自然无法在生产环境调用。
具体操作步骤
- 登录App Store Connect,找到刚创建的ID为
MyIAP1的IAP商品,补全所有必填信息:包括定价档位、销售范围、各语言本地化的商品名称/描述、审核专用的商品截图、审核备注。 - 单独提交这个IAP商品送审,不需要关联新的应用构建版本。你可以在审核备注里明确说明:当前已上架的正式版本已经内置了该IAP ID的调用逻辑,之前因为后台配置的IAP ID和端内不匹配导致内购失效,本次仅提交对应IAP商品审核,无需测试新的应用安装包。
- 等IAP审核通过、状态变为「已批准」后,确认商品的「可供销售」开关为开启状态,一般等待1-24小时让苹果的全球CDN缓存同步完成,线上版本的App就能正常拉取到这个IAP商品,内购功能会自动恢复。
注意事项
- 提交IAP审核时不要把它绑定到未上架的新版本下,否则必须等新版本过审上架后,这个IAP才会在生产环境生效,直接走IAP单独提审的流程即可。
- 如果IAP显示已批准超过24小时线上还是拉不到商品,可以尝试手动关闭再重新打开对应IAP的「可供销售」开关,强制触发苹果的缓存刷新,一般1小时内就能恢复正常。
- 后续如果要新增内购商品,只要线上版本的代码里已经预置了对应IAP ID的处理逻辑,都可以通过后台新建IAP单独送审的方式上线,不需要每次都发布新的应用构建版本。
内容的提问来源于stack exchange,提问作者MatterGoal
相关产品推荐
相关产品推荐

