我在GitHub上使用rpzzzzz的IAPMaster - https://github.com/rpzzzzzz/IAPMaster
我已经在itunesconnect上向我的应用添加了耗材应用内购买,并且我给了它一个产品ID" someid"。
根据示例项目,我试图进行购买 -
let iap = IAPMaster.sharedInstance
iap.addPayment(product_id, userIdentifier: nil) { (result) -> () in
switch result{
case .Purchased(let productId,let transaction,let paymentQueue):
print(productId)
print(transaction)
print(paymentQueue)
paymentQueue.finishTransaction(transaction)
case .Failed(let error):
print(error)
default:
break
}
}
当我运行此代码时出现错误 -
错误域= AddPayment未知产品标识符代码= 0"(null)"
如何解决此错误?
答案 0 :(得分:0)
好。我下载并运行了项目,找到了解决问题的方法。基本上你得到的错误是告诉你你有一个未知的product_id
。在您提供的GitHub仓库中,有一些示例代码允许您调用购买方法。
@IBAction func purchase(sender: AnyObject) {
let iap = IAPMaster.sharedInstance
iap.addPayment("your_product_id", userIdentifier: nil) { (result) -> () in
switch result{
case .Purchased(let productId,let transaction,let paymentQueue):
print(productId)
print(transaction)
print(paymentQueue)
paymentQueue.finishTransaction(transaction)
case .Failed(let error):
print(error)
default:
break
}
}
}
在这里,您必须将your_product_id
替换为您从iTunes Connect获得的唯一ID。因此,您可以看到正是这条特定的行导致错误,如下所示:
iap.addPayment("com.irawd.test.30d", userIdentifier: nil) { (result) -> () in ...
addPayment。输入您的唯一ID后,它会毫无问题地运行并让您购买商品。如果您想阅读一篇关于iAP的非常好的教程,here是来自AppCoda的教程。
希望有帮助,朱利安!