2016-11-04 19 views
0

請耐心等待。SKPaymentQueue崩潰'NotifyObserverAboutChanges'

我是StoreKit的初學者,我對此非常難過。

In App Purchase的配置全部完成,我已經設法完成了一些以前的測試。但是現在該應用在啓動後每隔一段時間都會崩潰。顯然,問題是這樣的錯誤波紋管:

* 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 

我試圖尋找使用儀器殭屍,我得到這個消息:

Objective-C的消息被髮送到一個重新分配的「OneSignalTrackIAP」 對象(殭屍)地址:0x170017100。

而且這個活動詳情:

Instruments Stack Trace

那麼想必,這種錯誤來源於此 「__NotifyObserverAboutChanges」。

我不知道該從這裏做什麼。我已經刪除了所有連接到StoreKit的Pod,以及In App Purchases中的所有方法和類,但是此錯誤仍在繼續。顯然,我的推送通知提供商OneSignal有此應用程序購買跟蹤器,它正在引發此次崩潰。

我真的很感激,如果有人能給我一個洞察力,我應該做什麼。我現在感覺就像將我的頭靠在牆上。

在此先感謝。

回答

0

很可能你並沒有從視圖控制器中移除事務觀察者。因此,當用戶關閉頁面然後再次打開它時,它會嘗試將事務發送到兩個視圖控制器(呈現的和舊的仍然在內存中)並崩潰。