如何在macOS Sequoia 15.4.1上无需退出主Apple ID即可登录Sandbox Account进行IAP测试?
如何在macOS Sequoia 15.4.1上无需退出主Apple ID即可登录Sandbox Account进行IAP测试?
我之前也遇到过和你一模一样的问题——不想退出Mac上的主Apple ID,又要测试沙盒内购,折腾了好一阵才找到几个靠谱的方法,亲测在Sequoia 15.4.1上有效,分享给你:
方法一:通过Xcode Scheme配置沙盒账号(最直观)
打开你的Xcode项目,点击顶部的Scheme菜单(就是显示你app名称和设备的那个下拉框),选择「Edit Scheme...」。
在弹出的窗口里切换到「Run」标签页,再选择「Options」子标签。
滚动到「StoreKit」部分,勾选「Use sandbox account」,然后输入你的沙盒测试账号的邮箱和密码。
点击「Close」保存后,从Xcode重新运行你的app,这时候进行内购操作就会使用你配置的沙盒账号,完全不会用到主Apple ID。方法二:用终端命令指定沙盒账号(适合已打包的app)
如果你已经把app打包出来,或者不想每次都通过Xcode scheme配置,可以用终端命令给你的app绑定沙盒账号:- 打开「终端」应用,输入命令(记得替换成你自己的信息):
这里的defaults write com.yourcompany.YourAppBundleIdentifier StoreKitTestSandboxAccount "your-sandbox-email@example.com"com.yourcompany.YourAppBundleIdentifier要换成你app的实际Bundle ID,your-sandbox-email@example.com替换为你的沙盒账号邮箱。 - 关闭当前运行的app(如果开着的话),重新启动它,现在内购就会走这个沙盒账号了。
要是之后想切换回主ID,只需要运行下面的命令再重启app:defaults delete com.yourcompany.YourAppBundleIdentifier StoreKitTestSandboxAccount
- 打开「终端」应用,输入命令(记得替换成你自己的信息):
方法三:使用StoreKit测试框架(适合灵活测试场景)
如果你需要模拟不同的内购状态(比如已购买、未购买、订阅过期等),可以用Xcode的StoreKit测试功能:- 在Xcode的「Product」菜单里,选择「StoreKit Test」->「Configure StoreKit Test...」。
- 在配置窗口里添加你的沙盒账号,然后创建对应的测试场景。
- 运行app时,Xcode会自动使用这个测试配置里的沙盒账号,完全不会干扰你的主Apple ID。
另外还有几个小提醒:
- 确保你的沙盒账号是在Apple开发者后台已经创建并激活的,不然可能会出现登录失败的情况;
- debug版本的app本身默认会走沙盒环境,但如果不指定账号,系统还是会调用主ID,所以上面的配置是关键;
- 测试完成后,记得根据需要清除配置(比如方法二的delete命令),避免影响后续正常使用。
内容来源于stack exchange
相关产品推荐
相关产品推荐

