AddPayment Unknow产品标识符

时间:2015-12-18 14:34:56

标签: ios swift in-app-purchase itunesconnect storekit

我在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)"

如何解决此错误?

1 个答案:

答案 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的教程。

希望有帮助,朱利安!