Neu in Xcode 8 Beta 4, NSError
ist mit dem Swift- Error
Protokolltyp verbunden. Dies wirkt sich auf StoreKit aus, wenn fehlerhafte SKPaymentTransaction
s behandelt werden. Sie sollten überprüfen, ob der Fehler nicht aufgetreten ist, da die Transaktion abgebrochen wurde, um festzustellen, ob dem Benutzer eine Fehlermeldung angezeigt werden soll. Sie tun dies, indem Sie die Fehler untersuchen code
. Aber mit Error
statt NSError
gibt es keine code
definiert. Ich konnte nicht herausfinden, wie ich den Fehlercode richtig abrufen kann Error
.
Dies funktionierte in der vorherigen Version von Swift 3:
func failedTransaction(_ transaction: SKPaymentTransaction) {
if let transactionError = transaction.error {
if transactionError.code != SKErrorCode.paymentCancelled.rawValue {
//show error to user
}
}
...
}
Nun das error
ist ein Error
nicht NSError
, code
ist kein Mitglied.
if (transaction.error as NSError).code != SKErrorCode.PaymentCancelled {