2016-03-22 20 views
9

Ho aggiornato all'ultima versione di Xcode 7.3 con il rilascio di iOS 9.3 & OSX 10.11.4 (comprensivo di Swift 2.2) ieri.Identificatore non risolto - SKErrorPaymentCancelled

Quando compilo la mia app viene visualizzato un messaggio di errore Use of unresolved identifier 'SKErrorPaymentCancelled' che utilizzo per verificare se l'utente ha annullato un pagamento. Non faccio nulla di speciale con esso, basta registrarlo (come visto sotto).

Non riesco a trovare nulla nel registro delle modifiche di Swift 2.2 che indica che qualcosa all'interno di StoreKit è stato modificato. Questo ha funzionato bene prima di aggiornare.

Qualcun altro sta visualizzando questo problema?

risposta

32

La costante SKErrorPaymentCancelled è stata rimossa dall'SDK a partire da iOS 9.3. Utilizzare invece l'enum SKErrorCode.PaymentCancelled.

Per ulteriori informazioni, vedere la pagina StoreKit Changes for Swift del iOS 9.3 API Diffs e la mia Q canonica & Un post Use of unresolved identifier when using StoreKit constants with iOS 9.3/Xcode 7.3.

+0

C'è documentazione di questo da qualche parte che ho perso? Hanno spostato tutte le costanti degli errori di StoreKit su SKErrorCode? – mattdonders

+0

@mattdonders Dai un'occhiata al changelog di StoreKit per l'SDK di iOS 9.3: https://developer.apple.com/library/ios/releasenotes/General/iOS93APIDiffs/Swift/StoreKit.html – JAL

+0

Oh grazie, sicuramente mi sono perso. Ancora una domanda da seguire su questo (se lo sai). Quale proprietà della transazione può essere verificata con SKErrorCode? Il mio codice precedente (riparato dall'alto) è 'transaction.error! .code == SKErrorCode.PaymentCancelled', ma ora ho' Impossibile convertire il valore di tipo 'SKErrorCode' nell'argomento previsto 'Int'' – mattdonders

Problemi correlati