首页 > 解决方案 > SwiftyStoreKit。如何在不输入密码的情况下验证订阅?

问题描述

我在我的应用程序中使用SwiftyStoreKit。我也有一个auto-renewable subscription,其中购买正常。

auto-renewable subscription购买,当用户启动应用程序时,它会使用verifyReceipt. 检查时,通常会出现一个弹出窗口,询问用户的 Apple ID 和密码。这种行为是不受欢迎的。

如果 a 取消 Apple ID 登录或使用不正确的凭据进行身份验证,验证将引发 error Cannot connect to iTunes Store,并且用户随后无法使用该应用程序。

我的问题:

标签: swiftin-app-purchaseverificationswiftystorekit

解决方案


我有同样的问题来验证未过期的订阅。答案是,如果您需要刷新用户收据,用户需要登录 iTunes 帐户才能获取收据。大多数情况下,用户已经使用他们的 App Store 帐户登录。可以在此处找到有关此问题的更多讨论,可能是来自苹果的沙盒错误:

https://github.com/bizz84/SwiftyStoreKit/issues/307 https://github.com/bizz84/SwiftyStoreKit/issues/220

请记住在 func 中将 forceRefresh 设置为 false:

SwiftyStoreKit.verifyReceipt(using: appleValidator, forceRefresh: false) 

推荐阅读