iphone - iOS 应用在 Core Location 回调机制中崩溃
<p><p>我在分析崩溃日志时遇到问题。当我单击应用程序图标启动应用程序时,iPhone 有时会崩溃。该应用程序已在后台“运行”,但未处于事件状态。这是符号化的崩溃日志:</p>
<pre><code>Thread 0 Crashed:
0 libobjc.A.dylib 0x33479470 objc_msgSend + 28
1 CoreLocation 0x3436f68e - + 98
2 CoreLocation 0x3436f804 OnClientEvent + 16
3 CoreLocation 0x3436b522 CLClientInvokeCallback(__CLClient*, CLClientEvent, __CFDictionary const*) + 42
4 CoreLocation 0x3436cf74 CLClientHandleDaemonDataRegistration(__CLClient*, CLDaemonCommToClientRegistration const*, __CFDictionary const*) + 668
5 CoreLocation 0x3436d4c8 CLClientHandleDaemonData(__CFMessagePort*, long, __CFData const*, void*) + 212
6 CoreFoundation 0x33a813fe __CFMessagePortPerform + 242
7 CoreFoundation 0x33a556f8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 20
8 CoreFoundation 0x33a556bc __CFRunLoopDoSource1 + 160
9 CoreFoundation 0x33a47f76 __CFRunLoopRun + 514
10CoreFoundation 0x33a47c80 CFRunLoopRunSpecific + 224
11CoreFoundation 0x33a47b88 CFRunLoopRunInMode + 52
12GraphicsServices 0x33b0e4a4 GSEventRunModal + 108
13GraphicsServices 0x33b0e550 GSEventRun + 56
14UIKit 0x32099322 - + 406
15UIKit 0x32096e8c UIApplicationMain + 664
16Norddeich 0x00002764 main (main.m:14)
17Norddeich 0x00002718 start + 32
</code></pre>
<p>据我了解堆栈跟踪,错误发生在 main.m 中。第 14 行是默认代码的一部分:</p>
<pre><code>int retVal = UIApplicationMain(argc, argv, nil, nil);
</code></pre>
<p>请给我一个提示,如何找到错误。<br/>
提前谢谢!</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>在从 Controller 返回之前(或至少在 Controller 的 <code>dealloc</code> 中),您是否将它的委托(delegate)设置为 <code>nil</code>?我怀疑 CLLocationManager 正在尝试向已解除分配的委托(delegate)发送消息 - 这就是它在 obj_msgSend 崩溃的原因。</p></p>
<p style="font-size: 20px;">关于iphone - iOS 应用在 Core Location 回调机制中崩溃,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/5212471/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/5212471/
</a>
</p>
页:
[1]