報錯信息:
libBacktraceRecording.dylib`__gcd_queue_item_enqueue_hook_block_invoke, queue = 'com.apple.NSURLSession-work', stop reason = EXC_BAD_ACCESS (code=1, address=0xf8686a68b98c6ec8)
* frame #0: 0x0000000100042e8c libBacktraceRecording.dylib`__gcd_queue_item_enqueue_hook_block_invoke
查閱相關文檔顯示,這個是蘋果的一個bug,參考:蘋果官方論壇、stackoverflow
After speaking with Apple Technical Support we confirmed that it's a bug within the ?libBacktraceRecording.dylib library, which is used for debugging within Xcode. I have filed a bug report and have been told that it won't crash on a users device since this is a debug error that occurs within a library not present on most users' devices.
經過多次嘗試,我得出了如下結論:
只有用模擬器調試或者真機調試(USB調試/無限調試)的情況下才會出現這個崩潰,非調試模式下是沒有這個崩潰的。
測試后結論得到印證,雖然這個在app上架后不會出這個問題,但是平時大部分時間都要Debug的,這樣的崩潰很影響效率。
經過分析嘗試,我將網絡層的AFNetworking網絡請求改為Moya,再次編譯,問題解決了。
可能是因為AFNetworking網絡請求的某個階段與libBacktraceRecording.dylib沖突了,導致崩潰。