【发布时间】:2016-08-15 19:59:24
【问题描述】:
我已经为我的项目配置了 IAP,它似乎可以工作,所以我的应用程序在应用程序商店中上线,但我发现大约 30% 的 iTunes 请求由于某种原因返回了 invalidProductIdentifier,以下是完整代码:
class IAP: NSObject, SKProductsRequestDelegate {
static let sharedInstance = IAP()
func productsRequest(request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {
response.invalidProductIdentifiers.forEach() { id in
//here is the part that could fail sometimes
print(id)
}
}
//here how I setup IAP
func canMakePayments() {
if(SKPaymentQueue.canMakePayments()) {
var productID = NSSet()
productID = NSSet(object: "unlock")
let request: SKProductsRequest = SKProductsRequest(productIdentifiers: productID as! Set<String>)
request.delegate = self
request.start()
}
}
}
以及我如何从AppDelegate 使用它:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
IAP.sharedInstance.canMakePayments()
return true
}
【问题讨论】:
标签: ios swift in-app-purchase