2016-11-04 4 views
0

Bitte haben Sie etwas Geduld.SKPaymentQueue Absturz auf 'NotifyObserverAboutChanges'

Ich bin ein Anfänger auf StoreKit und ich habe eine wirklich harte Zeit damit.

Die Konfiguration für In-App-Kauf ist fertig und ich habe bereits einige Tests gemacht. Aber jetzt stürzt die App nach jedem Start ab. Offenbar ist das Problem dieser Fehler unten:

* thread #1: tid = 0x38d39, 0x00000001902a4bb4 libobjc.A.dylib`lookUpImpOrForward + 80, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x1a10058f938) 
    frame #0: 0x00000001902a4bb4 libobjc.A.dylib`lookUpImpOrForward + 80 
    frame #1: 0x00000001902af258 libobjc.A.dylib`_objc_msgSend_uncached + 56 
    frame #2: 0x000000019e2fa120 StoreKit`__NotifyObserverAboutChanges + 84 
    frame #3: 0x000000019173b9a8 CoreFoundation`CFArrayApplyFunction + 68 
    frame #4: 0x000000019e2fa0b0 StoreKit`-[SKPaymentQueue _notifyObserversAboutChanges:sendUpdatedDownloads:] + 148 
    frame #5: 0x000000019e2fabec StoreKit`-[SKPaymentQueue _processUpdates:trimUnmatched:sendUpdatedDownloads:] + 1288 
    frame #6: 0x000000019e2fb47c StoreKit`-[SKPaymentQueue _setTransactionsWithReply:] + 196 
    frame #7: 0x000000019e2f9b2c StoreKit`__38-[SKPaymentQueue _establishConnection]_block_invoke_2 + 64 
    frame #8: 0x0000000101ad525c libdispatch.dylib`_dispatch_call_block_and_release + 24 
    frame #9: 0x0000000101ad521c libdispatch.dylib`_dispatch_client_callout + 16 
    frame #10: 0x0000000101ada284 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 1200 
    frame #11: 0x000000019180ff2c CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 
    frame #12: 0x000000019180db18 CoreFoundation`__CFRunLoopRun + 1660 
    frame #13: 0x000000019173c048 CoreFoundation`CFRunLoopRunSpecific + 444 
    frame #14: 0x00000001931c2198 GraphicsServices`GSEventRunModal + 180 
    frame #15: 0x00000001977282fc UIKit`-[UIApplication _run] + 684 
    frame #16: 0x0000000197723034 UIKit`UIApplicationMain + 208 
    * frame #17: 0x000000010010b8b8 Otelo`main + 140 at AppDelegate.swift:17 
    frame #18: 0x00000001907205b8 libdyld.dylib`start + 4 

Ich habe versucht, für Zombies Instrumente suchen verwenden, und ich habe diese Nachricht:

Eine Objective-C-Nachricht an einen ausgeplanten gesendet wurde ‚OneSignalTrackIAP‘ Objekt (Zombie) bei Adresse: 0x170017100.

Auch dieses Event Detail:

Instruments Stack Trace

So vermutlich diese Fehler aus diesem "__NotifyObserverAboutChanges" kommen.

Ich habe keine Ahnung, was ich von hier aus tun soll. Ich habe alle meine Pods entfernt, die irgendwie mit StoreKit verknüpft sind, und alle meine Methoden und Klassen für In-App-Käufe, aber dieser Fehler geht weiter. Anscheinend hat OneSignal, mein Push Notification Provider, diesen In App Purchase Tracker, der diesen Absturz verursacht.

Ich würde wirklich schätzen, wenn jemand mir einen Einblick geben könnte, was ich tun sollte. Ich habe gerade Lust, meinen Kopf gegen die Wand zu stoßen.

Vielen Dank im Voraus.

Antwort

0

Wahrscheinlich entfernen Sie den Transaktionsbeobachter nicht aus dem View-Controller. Wenn Benutzer die Seite schließen und sie dann erneut öffnen, versucht sie, die Transaktion an beide View-Controller (den präsentierten und den alten, der sich noch im Speicher befindet) zu senden und abzustürzen.