Xcode 8 beta 4中的新增功能,NSError
橋接到Swift Error
協議類型。這在處理失敗的SKPaymentTransaction
時會影響StoreKit。您應該檢查以確保沒有發生錯誤,因爲事務被取消以知道是否向用戶顯示錯誤消息。您通過檢查錯誤的code
來執行此操作。但用Error
而不是NSError
,沒有定義code
。我一直無法弄清楚如何從Error
正確獲取錯誤代碼。在Swift 3中訪問代碼錯誤
這曾在以前的版本雨燕3:
func failedTransaction(_ transaction: SKPaymentTransaction) {
if let transactionError = transaction.error {
if transactionError.code != SKErrorCode.paymentCancelled.rawValue {
//show error to user
}
}
...
}
現在error
是Error
不NSError
,code
不是成員。
嘗試'如果(transaction.error作爲NSError).code!= SKErrorCode.PaymentCancelled {' –
這是行之有效的,只是把它作爲'NSError',謝謝@LeoDabus – Joey