Flutter应用(含in_app_purchase)遭App Store拒绝,求助排查解决
解决Flutter应用App Store审核被拒的两个问题
针对准则2.1 - PassKit框架未使用的问题
你的应用二进制中出现PassKit框架,大概率是in_app_purchase库底层依赖的StoreKit间接引入的,并非你主动集成Apple Pay。解决方式二选一:
- 移除冗余框架:打开Xcode进入项目
Build Settings,找到Linked Frameworks and Libraries,若PassKit在此列表中直接移除;如果是Pod依赖带来的,修改Podfile添加post_install钩子清理未使用框架:post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'in_app_purchase' target.build_configurations.each do |config| config.build_settings['OTHER_LDFLAGS'] = ['-framework StoreKit'] end end end end - 审核备注说明:若无法移除框架,在App Store Connect提交审核的「审核备注」里明确写:“本应用未集成Apple Pay功能,二进制中的PassKit框架由Flutter
in_app_purchase依赖库间接引入,无相关功能实现。”
针对准则3.1.2 - 订阅缺少EULA和隐私政策链接的问题
你已添加链接仍被拒,大概率是链接位置、元数据填写或有效性不符合要求,按以下步骤排查:
- 调整链接展示位置:苹果要求在订阅购买流程的显眼位置展示链接,不能仅藏在设置页:
- 在订阅套餐选择页面(如你提供的截图页面)底部或套餐旁添加明确文字链接,比如「查看使用条款」「查看隐私政策」
- 若有购买确认弹窗,也要附带相关链接
- 完善App Store Connect元数据:
- 进入「App信息」->「隐私政策」栏,填写隐私政策的HTTPS公开链接
- 在「审核备注」里明确说明:“应用内订阅页面底部提供了Apple标准EULA链接和隐私政策链接;同时已在App Store Connect中填写隐私政策链接。”
- 验证链接有效性:
- 确认链接为HTTPS协议,iOS设备可直接访问,无地区限制或加载失败情况
- 确保Apple标准EULA链接使用官方正确地址,避免跳转错误
提交审核时可在备注里说明订阅页面截图的位置,帮助审核员快速定位链接。
内容的提问来源于stack exchange,提问作者Jose Colman
相关产品推荐
相关产品推荐

