swift - SwiftyStoreKit。如何在不输入密码的情况下验证订阅?
问题描述
我在我的应用程序中使用SwiftyStoreKit。我也有一个auto-renewable subscription
,其中购买正常。
已auto-renewable subscription
购买,当用户启动应用程序时,它会使用verifyReceipt
. 检查时,通常会出现一个弹出窗口,询问用户的 Apple ID 和密码。这种行为是不受欢迎的。
如果 a 取消 Apple ID 登录或使用不正确的凭据进行身份验证,验证将引发 error Cannot connect to iTunes Store
,并且用户随后无法使用该应用程序。
我的问题:
验证时如何禁用 Apple ID 身份验证
verifyReceipt
?在
SwiftyStoreKit
,这还没有实现。我们如何在不连接服务器但使用的情况下离线验证订阅SwiftyStoreKit
?有没有可以做到这一点并且易于连接的库?
解决方案
我有同样的问题来验证未过期的订阅。答案是,如果您需要刷新用户收据,用户需要登录 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)
推荐阅读
- python - 错误消息 Filedialog tkinter / FIFinderSyncExtensionHost 在两者中都实现
- r - system("timedatectl") "查询服务器失败:连接超时"
- javascript - 如果 JSON 数据不存在,如何隐藏 div
- java - 如何在团队城市插件开发jsp中处理表单提交
- php - php-amqplib:如何防止无限加载网页?
- java - Java 多环境最佳实践问题
- javascript - 是否可以在 Zapier Code 中启动服务器
- node.js - 解析大型 JSON 文件时两个 NodeJS 流之间的竞争条件
- r - 如果多个组满足某些条件,如何更改后续行值?
- google-chrome-extension - 尝试修改 Chrome 扩展程序以更改显示颜色