首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Sandbox环境中与Sandbox用户一起测试IAP?

如何在Sandbox环境中与Sandbox用户一起测试IAP?
EN

Stack Overflow用户
提问于 2022-11-18 00:24:04
回答 1查看 61关注 0票数 1

我可以在Xcode环境中进行测试。我可以用TestFlight进行测试,它使用一个真正的Apple在Sandbox环境中进行购买。

但是如何在Sandbox环境中对Sandbox用户进行测试呢?因为我需要能够清除我的沙箱用户购买历史,以便我可以测试第一次购买。

我一直在阅读文档,我觉得每个特定的文档都会跳过我需要的信息。它解释了如何创建一个Sandbox测试用户,我已经这样做了。很多年前,我做了大量的IAP工作,但是事情已经发生了很大的变化,以至于它没有像我所期望的那样起作用。当我看医生的时候,我觉得我找不到丢失的那篇。

当我使用Xcode在模拟器中进行测试时,它在Xcode环境中执行IAP事务。这事儿可以理解。

https://developer.apple.com/documentation/storekit/in-app_purchase/testing_in-app_purchases_with_sandbox

这一页写着:

使用你的沙箱苹果ID运行你的应用程序,构建并运行你的应用程序的Xcode。

但是,当我在直接从Xcode安装的物理设备上进行测试时,它也会在Xcode环境中执行IAP事务。我以为这会使我处于Sandbox环境中,但事实并非如此。Xcode事务管理器显示了事务。初始的购买视图控制器根本没有引用Sandbox,而“You‘all”警报显示的是Environment: Xcode而不是Environment: Sandbox。

当我将测试构建放到TestFlight中并使用该版本进行测试时,我的IAP事务正在使用我真正的Apple在生产中发生(但实际上没有任何事务收费)。

我假设在TestFlight中进行测试会给我提供Sandbox环境,但是它发生在生产环境中。(购买视图控制器不显示Sandbox,“您都设置好了”警报没有显示Sandbox。)

那么,如何在沙箱中进行测试呢?我试图测试的每一种方式都会将我置于Xcode环境或生产环境中。

我遗漏了什么?

我已经在我的手机上注销了我真正的苹果id,然后用我在AppStore连接中创建的沙箱用户凭据登录。但是当我尝试测试这个应用程序时,通过安装Xcode,它仍然说我在Xcode测试环境中。当我创建事务时,这些事务将显示在Xcode事务管理器中。

如何在沙箱环境中进行测试?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-24 00:54:37

IAP处于"Xcode“模式与处于"Sandbox”模式之间的区别在于您是否在目标的方案上设置了StoreKit配置。

在Xcode中,选择Product并转到Scheme,然后是"Edit Scheme.“。选择左侧的Run,然后转到Options选项卡。

对于"StoreKit配置“设置,如果选择特定的配置,您将获得Xcode模式。如果您将此选项设置为None,即使在从Xcode运行应用程序时,您也将获得Sandbox模式。

在从TestFlight运行时,所有这些都不适用。在TestFlight中,您处于完全生产模式。

为了验证这一点,我在app ->沙箱帐户下的Settings应用程序中登录了一个沙箱帐户。然后,我通过Xcode运行我的应用程序,并在我的应用程序中通过了一些IAP。当StoreKit配置设置为None时,IAP屏幕显示"Sandbox“。当StoreKit配置设置为特定的存储包文件时,IAP屏幕显示"Xcode“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74483653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档