购买时触发Cannot connect to iTunes Store (Code=0),订阅测试需提交审核吗?
这是个很多开发者都会踩的坑!先给你明确结论:测试订阅完全不需要提交到App Store审核,但你的订阅状态停在「Ready to submit」,大概率就是导致连接错误的核心原因,结合其他可能的遗漏点,给你逐一梳理:
先搞定订阅产品的状态问题
状态显示「Ready to submit」,说明你的订阅产品还有必填信息未完成填写——比如本地化的名称/描述、价格层级配置、或者订阅组的关联没做好。你需要回到App Store Connect的「订阅」页面,进入对应的订阅组和产品,检查所有标有红色星号的字段,补全后点击「保存」。完成后产品状态会变为「Ready for sale」(不需要提交审核),这时候沙箱环境才能正常识别到这个订阅产品。确认沙箱测试账号的正确性
必须使用App Store Connect中「用户和访问」->「沙箱测试员」创建的专用测试账号,绝对不能用普通Apple ID测试。测试前要退出设备上的App Store登录(或者在iOS 14+的「设置」->「App Store」->「沙箱账户」中登录测试账号),否则会直接跳转到正式购买流程,导致连接错误。检查代码中的StoreKit配置
确保你请求的productIdentifier和App Store Connect中创建的订阅产品ID完全一致(大小写敏感)。同时,检查SKProductsRequest的错误处理逻辑:如果请求返回SKError,比如SKErrorProductNotFound,那基本就是产品状态或ID匹配的问题;如果是网络相关错误,可能是网络环境无法访问Apple沙箱服务器,可以尝试切换稳定的网络环境。验证订阅组的配置
确认你已经创建了订阅组,并且目标订阅产品已经正确关联到组内。订阅组是iOS订阅的基础配置,没有组的话沙箱也无法正常处理订阅请求。
内容的提问来源于stack exchange,提问作者heximal




