是否可以以编程方式设置用户的 Apple ID(用于沙盒应用内购买)?

Is it possible to set user's Apple ID (for sandbox in-app purchasing) programmatically?

对于背景:我 运行 UI 自动化(使用 Calabash)在我们的 iOS 应用程序上,并且可以将登录对话框导航到 select "Use Existing Apple ID" 购买内容时。但是,下一个对话框是 "Apple ID Password" 对话框,其中包含用户名和密码字段。我们的自动化无法导航它,因为它是本机对话框。

有什么方法可以通过编程方式 set/clear 这些值,这样我就可以绕过该对话框吗?

不,这是不可能的,您必须在 iTunes 连接中设置不同的测试 ID 以进行测试,而且它应该与苹果开发者 ID 不同,在应用程序购买中创建测试时,只有电子邮件地址应该是有效的电子邮件地址

您无法自动填写用户的 Apple id 并绕过当用户打算使用 InApp 购买商品时出现的警告。当您为 SKPayment 编写代码时,它会自动提升。我们无法控制您的要求。

无法使用 UIAutomation 或 Calabash 与用于 username/password 身份验证的应用内购买提示进行交互。

我能够完成这项工作的唯一方法是使用后门。这是 2013 年 7 月的事了。我对结果并不满意。

此功能之前已被要求,但在 Apple 改进其 UIAutomation JavaScript API 之前我们束手无策。您可以尝试提交 bug/feature 请求。

您尝试使用 Xcode 7 的 Instruments 应用程序中的自动化工具与此对话框进行交互。如果您可以证明您可以使用 UIAutomation 与警报进行交互,我们可以尝试在 Calabash 中添加支持。

可以与本机对话框进行交互。这是包含我写的 class 的要点,以防它帮助其他遇到类似情况的人。

https://gist.github.com/TeresaP/b7373a907ebb31acac39