You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改及获取StoreKit当前用户店铺区域?测试问题咨询

StoreKit Storefront测试问题解决方案

Xcode Debug/TestFlight构建是否会覆盖默认店铺区域?

  • Debug构建:未配置本地.storekit文件时,Xcode不会主动覆盖Storefront,此时区域由当前登录的Apple账户(沙盒/正式)决定;但如果配置了.storekit文件,Debug模式会优先使用文件内设置的默认区域,无视账户实际区域。
  • TestFlight构建:完全不受本地.storekit文件影响,仅由用户登录的Apple账户区域(正式或沙盒)决定。但切换沙盒账户时,必须彻底退出所有Apple账户(设置→[你的名字]→媒体与购买项目→查看账户→退出登录),再重新登录目标区域的沙盒账户。

不用本地.storekit文件,通过沙盒用户测试不同店铺区域的正确流程

要成功获取沙盒用户对应的Storefront,必须严格执行以下步骤,任何环节遗漏都可能导致返回原区域:

  1. 彻底退出所有Apple账户
    进入设置→点击顶部Apple ID→拉至底部退出登录,确保iCloud、媒体与购买项目等所有关联账户完全退出。
  2. 重启设备
    这一步是清除系统缓存Storefront信息的关键,避免旧区域数据残留。
  3. 在App内登录沙盒账户
    打开App后触发内购相关操作(比如请求内购产品列表),待系统弹出登录弹窗时,输入目标区域的沙盒账户(沙盒账户的注册地区必须与测试目标区域一致)。禁止在系统设置中登录沙盒账户,必须通过App内的登录弹窗操作,否则系统可能仍使用旧缓存区域。
  4. 延后获取Storefront
    不要在App启动初期直接调用StoreKit.Storefront.current,需等内购相关交互完成(比如产品请求成功)后再获取,因为Storefront信息需在与App Store服务交互后才会完成初始化。

额外提醒

  • 沙盒账户的注册地区必须与测试目标Storefront区域一致,创建时需准确选择对应国家/地区。
  • 不要同时登录多个Apple账户,否则系统可能优先使用iCloud账户的区域,而非沙盒账户。
  • 若之前使用过.storekit文件,Debug模式下测试沙盒账户时,需删除该文件,或在Xcode的Scheme设置中禁用StoreKit测试(Edit Scheme→Run→Options→StoreKit Testing→设置为None)。

内容的提问来源于stack exchange,提问作者Michael Pirotte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 15:23:15