2015-12-25 14 views

risposta

38

ho trovato la soluzione, è necessario pulire il SKPaymentQueue nel viewWillDisappear

Aggiornamento Swift 3,0/4,0

override func viewWillDisappear(_ animated: Bool) { 
    super.viewWillDisappear(animated) 
    SKPaymentQueue.default().remove(self) 
} 

Swift 2,3

override func viewWillDisappear(animated: Bool) { 
    super.viewWillDisappear(animated: animated) 
    SKPaymentQueue.defaultQueue().removeTransactionObserver(self) 
} 
+2

Been graffiare la mia testa per ore su questo, grande! Chiedo semplicemente perché si bloccherebbe se la coda non viene cancellata? – sunfffd

+0

@sunfffd Come non può iniziare una nuova coda mentre ce n'è una nella catena. –

+0

Grazie, ho una classe helper per gestire tutte le attività relative a IAP e ora ho aggiunto due funzioni per aggiungere e rimuovere l'osservatore delle transazioni. Vengono chiamati quando un VC carica e scompare. – sunfffd