未解决的标识符 - SKErrorPaymentCancelled

时间:2016-03-22 14:11:14

标签: ios xcode swift swift2 storekit

随着iOS 9.3及更新版本的发布,我更新到最新版本的Xcode 7.3 OSX 10.11.4(包括Swift 2.2)昨天。

当我构建我的应用程序时,我收到错误说明 Use of unresolved identifier 'SKErrorPaymentCancelled'我用来检查用户是否取消了付款。我没有做任何特别的事情,只需记录下来(如下所示)。

private func failedTransaction(transaction: SKPaymentTransaction) {
    print("failedTransaction...")
    if transaction.error!.code == SKErrorPaymentCancelled {
        print("Transaction Cancelled: \(transaction.error!.localizedDescription)")
    }
    else {
        print("Transaction Error: \(transaction.error!.localizedDescription)")
    }
    SKPaymentQueue.defaultQueue().finishTransaction(transaction)
}

我无法在Swift 2.2更新日志中找到任何内容,表明StoreKit中的任何内容都已更改。在我更新之前,这很好用。

还有其他人看到这个问题吗?

1 个答案:

答案 0 :(得分:34)

从iOS 9.3开始,已从SDK中删除常量SKErrorPaymentCancelled。相反,请使用SKErrorCode.PaymentCancelled枚举。

有关详细信息,请参阅StoreKit Changes for SwiftiOS 9.3 API Diffs页和我的规范问答Use of unresolved identifier when using StoreKit constants with iOS 9.3/Xcode 7.3