rig*_*nmr 35 storekit ios swift
希望标题是不言自明的.我正在尝试做这样的事情:
checkIfUserIsSubscribedToProduct(productID, transactionID: "some-unique-transaction-string", completion: { error, status in
if error == nil {
if status == .Subscribed {
// do something fun
}
}
}
Run Code Online (Sandbox Code Playgroud)
做了类似我提供的假设代码吗?我觉得我正在服用疯狂的药片
编辑
在类似的问题中,我一直看到一个通用的答案"哦,你必须验证收据"但没有解释如何,甚至收据是什么.有人可以向我提供如何"验证收据"吗?我试过这个教程,但似乎没有用.
编辑 - 为赏金
请解决以下情况:用户订阅我的自动续订订阅并因此获得更多数字内容 - 很酷,实施.但是,如何在每次打开应用程序时检查该订阅是否仍然有效(即他们没有取消订阅)?检查这个的最简单的解决方案是什么?有没有像我在问题中提供的假设代码?请引导我完成此操作并提供有关该主题的任何进一步详细信息.
rig*_*nmr 27
我知道每个人都非常关心我以及我在这方面做了什么 - 不要害怕,解决了我的问题.主要问题是我在这个链接中尝试了垃圾和过时的代码,但它没有工作,所以我放弃了它.然后我回到它并实现它,Alamofire
它很有效.这是代码解决方案:
斯威夫特3:
let receiptURL = Bundle.main.appStoreReceiptURL
let receipt = NSData(contentsOf: receiptURL!)
let requestContents: [String: Any] = [
"receipt-data": receipt!.base64EncodedString(options: []),
"password": "your iTunes Connect shared secret"
]
let appleServer = receiptURL?.lastPathComponent == "sandboxReceipt" ? "sandbox" : "buy"
let stringURL = "https://\(appleServer).itunes.apple.com/verifyReceipt"
print("Loading user receipt: \(stringURL)...")
Alamofire.request(stringURL, method: .post, parameters: requestContents, encoding: JSONEncoding.default)
.responseJSON { response in
if let value = response.result.value as? NSDictionary {
print(value)
} else {
print("Receiving receipt from App Store failed: \(response.result)")
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8362 次 |
最近记录: |