我正在关注实施应用内购买的教程https://www.youtube.com/watch?v=dwPFtwDJ7tc&t=1170s,当我尝试编写代码时,一行代码与教程不同。
视频说要将代码行写为:
SwiftyStoreKit.verifyReceipt(password: sharedSecret, completion: {(more code added here)})
然而,当我把它写出来时,出现的唯一选项涉及另一部分,这就是使用:'
SwiftyStoreKit.verifyReceipt(using: 'ReceiptValidator', password: 'String?', completion: '(VerifyReceiptResult) -> Void')
如果我只是删除'使用:'部分发生错误。我是一个相当新的开发人员,所以如果有人能解释这意味着什么,以及如何填写这一部分,那将会很棒。
答案 0 :(得分:2)
首先,您需要创建AppleReceiptValidator对象并将此对象传递给第一个参数,如下所示。
let validator = AppleReceiptValidator(service: .production)
SwiftyStoreKit.verifyReceipt(using: validator, password: "Your_shared_secret") { (result) in
switch result {
case .success(receipt: let receiptInfo): self.reactOn(info: receiptInfo)
case .error(error: let receiptError): self.reactOn(error: receiptError)
}
completion()
}
我想注意,在Apple文档中写道,您不应该从应用程序向Apple后端发送收据。它应该以这种方式完成:
在Apple文档中写有关密码:"仅用于包含自动续订订阅的收据。您应用的共享密钥(十六进制字符串)。"
有关它的更多信息here。
答案 1 :(得分:0)
当前版本的swiftyStoreKit的完整正确代码,用于验证应用内订阅,包括根据swiftyStoreKit的官方指南首先验证收据:
data = {
"maps": [
{
"id": "1",
"iscategorical": "0"
},
{
"id": "2",
"iscategorical": "0"
},
{
"id": "3",
"iscategorical": "0"
}
]
}
您可以在此处找到其他示例:https://cocoapods.org/pods/SwiftyStoreKit#verify-purchase