Я обновил до последней версии Xcode 7.3 с выпуском iOS 9.3 & OSX 10.11.4 (включая Swift 2.2) вчера.Неразрешенный идентификатор - SKErrorPaymentCancelled
Когда я создаю свое приложение, я получаю сообщение об ошибке 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 было изменено. Это отлично работало, прежде чем я обновился.
Кто-нибудь еще видит эту проблему?
Имеется ли документация об этом где-то, что я пропустил? Они переместили все константы ошибок StoreKit в SKErrorCode? – mattdonders
@mattdonders Проверьте журнал изменений StoreKit для iOS 9.3 SDK: https://developer.apple.com/library/ios/releasenotes/General/iOS93APIDiffs/Swift/StoreKit.html – JAL
О, спасибо, определенно пропустили это. Еще один вопрос, чтобы следить за этим тогда (если вы знаете). Какое свойство транзакции можно проверить с помощью SKErrorCode? Мой предыдущий код (исправленный сверху) - это 'transaction.error! .Code == SKErrorCode.PaymentCancelled', но теперь я получаю' Невозможно преобразовать значение типа 'SKErrorCode' в ожидаемый тип аргумента 'Int'' – mattdonders