Xcode 8 베타 4의 새로운 기능인 NSError
은 Swift Error
프로토콜 유형에 연결됩니다. 이는 SKPaymentTransaction
을 처리 할 때 StoreKit에 영향을 미칩니다. 트랜잭션이 취소되어 사용자에게 오류 메시지를 표시할지 여부를 알기 때문에 오류가 발생하지 않았는지 확인해야합니다. 오류 code
을 검토하여이 작업을 수행하십시오. 그러나 NSError
대신 Error
을 사용하면 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
는 구성원이 아닙니다.
'시도 NSError로) .code! = SKErrorCode.PaymentCancelled {' –
그냥 NSError로 캐스팅 해 주셔서 감사합니다. @LeoDabus – Joey