随着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中的任何内容都已更改。在我更新之前,这很好用。
还有其他人看到这个问题吗?
答案 0 :(得分:34)
从iOS 9.3开始,已从SDK中删除常量SKErrorPaymentCancelled
。相反,请使用SKErrorCode.PaymentCancelled
枚举。
有关详细信息,请参阅StoreKit Changes for Swift的iOS 9.3 API Diffs页和我的规范问答Use of unresolved identifier when using StoreKit constants with iOS 9.3/Xcode 7.3。