【发布时间】:2020-03-18 00:16:09
【问题描述】:
我一直在使用SwiftyStoreKit.verifyReceipt 来确保用户仍然订阅自动更新会员资格。我在viewWillAppear 运行此代码,它运行良好,但问题是它每次都要求输入Apple ID 和密码,是因为该应用仍在开发中/应用内购买尚未得到Apple 验证或者我错误地使用了 SwiftyStoreKit.verifyReceipt。
文档:https://github.com/bizz84/SwiftyStoreKit
viewWillAppear中的我的代码:
let appleValidator = AppleReceiptValidator(service: .production, sharedSecret: "123")
SwiftyStoreKit.verifyReceipt(using: appleValidator) { result in
switch result {
case .success(let receipt):
let productId = "123"
// Verify the purchase of a Subscription
let purchaseResult = SwiftyStoreKit.verifySubscription(
ofType: .autoRenewable, // or .nonRenewing (see below)
productId: productId,
inReceipt: receipt)
switch purchaseResult {
case .purchased(let expiryDate, let items):
print("\(productId) is valid until \(expiryDate)\n\(items)\n")
OneSignal.sendTag("isUserVIPMember", value: "true")
case .expired(let expiryDate, let items):
print("\(productId) is expired since \(expiryDate)\n\(items)\n")
OneSignal.sendTag("isUserVIPMember", value: "false")
case .notPurchased:
print("The user has never purchased \(productId)")
OneSignal.sendTag("isUserVIPMember", value: "false")
}
case .error(let error):
print("Receipt verification failed: \(error)")
}
}
【问题讨论】:
-
请分享您的代码
-
@SilverskyTechnology 请使用代码查看更新后的问题
标签: ios swift in-app-purchase receipt-validation swiftystorekit