【问题标题】:Testing In App Purchase for iOS / MacOS X and two-factor authentication for test accounts测试 iOS / MacOS X 的应用内购买和测试帐户的双因素身份验证
【发布时间】:2020-08-26 14:47:44
【问题描述】:

最近有人测试过适用于 iOS 和 Mac OS X 的应用内购买吗? Apple 现在开始要求对在 iTunes Connect 中创建的测试帐户进行双重身份验证。 我的问题是每当我尝试打电话时

SKPaymentQueue.default().restoreCompletedTransactions()

恢复购买或制作

SKPaymentQueue.default().add(payment)

要进行购买,我被要求通过“使用 Apple ID 登录”窗口进行身份验证。 我输入在 iTunes Connect 中新创建的测试用户的登录名和密码。 进入模拟器后,我得到了

点击“设置”后,我只是被发送到“设置”,没有任何第二因素身份验证尝试。但是我收到了带有 6 位代码的短信 :) 我看到第二个因素的真正 iPhone 之一,但在输入 6 位数字后,没有任何反应。另一个真正的 iPhone 也没有第二个因素,我只看到设置,这就是全部。

Mac OS X 的类似问题。 我被要求输入登录名,然后是密码,然后是第二个因素的 6 位数字。 毕竟我得到了

func paymentQueue(_ queue: SKPaymentQueue, restoreCompletedTransactionsFailedWithError error: Error) { ... }

调用时出现错误“身份验证失败”。 对于购买,我得到 updatedTransactions / failed。 最近有没有人遇到过类似的问题,是不是又一个 Apple 的 bug,这两个因素只是我做错了什么?

【问题讨论】:

    标签: ios swift macos in-app-purchase itunes


    【解决方案1】:

    测试应用内购买从来都不是现实的。您永远无法看到并通过用户看到的实际系统对话框。因此,只要您能够执行购买,就大笑继续前进。

    如果您根本无法执行购买,请放弃此方法,转而为 TestFlight 构建并充当测试人员,这样您就不会使用测试用户。您将能够以您的真实用户身份执行购买,因此双因素身份验证将成功。

    此外,Xcode 12 中的新功能(仍处于测试阶段),您可以在不联网的情况下测试应用内购买。同样,您不会看到真实用户会看到的所有对话框,但至少您可以测试与 Store Kit 相关的代码的功能

    【讨论】:

    • 马特,非常感谢您的回答。我明天将尝试 TestFlight 并尝试安装 XCode 12。我不想要任何现实的东西,我希望它至少能以某种方式工作:) 它以前在 iOS 上运行良好,但现在我的应用程序被拒绝而且我无法对它们进行事件测试:)
    • TestFlight 是否可用于 Mac?据我了解,不是。
    • 哦,抱歉,问题确实是 iOS。
    • 我在 ios 和 osx 这两个平台上都有类似的身份验证问题。这太疯狂了。
    猜你喜欢
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 2013-09-10
    • 2012-10-30
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多