在iOS 9.3Xcode 7.3中使用StoreKit常量时使用未解析的标识符

在iOS 9.3Xcode 7.3中使用StoreKit常量时使用未解析的标识符,第1张

概述尝试使用其中一个StoreKit常量时,我​​收到错误“使用未解析标识符”: SKErrorClientInvalidSKErrorPaymentCancelledSKErrorPaymentInvalidSKErrorPaymentNotAllowedSKErrorStoreProductNotAvailableSKErrorUnknown 您的代码可能如下所示: if transa 尝试使用其中一个StoreKit常量时,我​​收到错误“使用未解析的标识符”:
SKErrorClIEntInvalIDSKErrorPaymentCancelledSKErrorPaymentInvalIDSKErrorPaymentNotAllowedSKErrorStoreProductNotAvailableSKErrorUnkNown

您的代码可能如下所示:

if transaction.error!.code == SKErrorPaymentCancelled {    print("Transaction Cancelled: \(transaction.error!.localizedDescription)")}

改变了什么?我需要导入一个新模块吗?

解决方法 从iOS 9.3开始,某些StoreKit常量已从SDK中删除.有关更改的完整列表,请参见 StoreKit Changes for Swift.

这些常量已被替换为SKErrorCode枚举和相关值:

SKErrorCode.ClIEntInvalIDSKErrorCode.CloudServiceNetworkConnectionFailedSKErrorCode.CloudServicePermissionDenIEdSKErrorCode.PaymentCancelledSKErrorCode.PaymentInvalIDSKErrorCode.PaymentNotAllowedSKErrorCode.StoreProductNotAvailableSKErrorCode.UnkNown

您应该检查使用枚举的rawValue检查您的transaction.error.code.例:

private func FailedTransaction(transaction: SKPaymentTransaction) {    print("FailedTransaction...")    if transaction.error?.code == SKErrorCode.PaymentCancelled.rawValue {        print("Transaction Cancelled: \(transaction.error?.localizedDescription)")    }    else {        print("Transaction Error: \(transaction.error?.localizedDescription)")    }    SKPaymentQueue.defaultQueue().finishTransaction(transaction)}

如果在iOS 9.3及更高版本上使用StoreKit创建新应用程序,则应检查这些错误代码而不是旧常量.

总结

以上是内存溢出为你收集整理的在iOS 9.3 / Xcode 7.3中使用StoreKit常量时使用未解析的标识符全部内容,希望文章能够帮你解决在iOS 9.3 / Xcode 7.3中使用StoreKit常量时使用未解析的标识符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1109175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存