HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – CoreFoundation中的CFStringGetLength中的iOS崩溃大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到了一个崩溃,对我来说,好像它是Apple处理MKMapView的goToDefaultLOCATIOn消息的方式中的一个错误.该消息依次调用[ALCitymanager localeWithCode:],该函数调用[NSLocale componentsFromLocalEIDentifier:],调用CFLocaleCreateComponentsFromLocalEIDentifier调用CFStringGetLength并发生崩溃.

有人可以帮我指出修复错误的方向,如果是我的代码导致这个,或者,帮助我找一个解决方法,实际上,这是Apple的代码中的错误(不太可能?).

崩溃日志如下:


Incident Identifier: 84198BB6-45BD-493B-955F-75CCB5246DDD
CrashReporter Key:   7dbf53bf1f1a3635d7c3c49e726dedc609ed9f3a
Hardware Model:      iPhone3,1
Process:         MyApp [340]
Path:            /var/mobile/Applications/DCE9A5A1-8E24-4D4F-A1ED-9855C6CA1742/MyApp.app/MyApp
Identifier:      MyApp
Version:         ??? (???)
Code Type:       ARM (NativE)
Parent Process:  launchd [1]

Date/Time:       2011-03-25 10:36:06.382 -0700
OS Version:      iPhone OS 4.3 (8F190)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   CoreFoundation                  0x00009a66 CFStringGetLength + 6
1   CoreFoundation                  0x0002f994 CFLocaleCreateComponentsFromLocalEIDentifier + 60
2   CoreFoundation                  0x000483b8 +[NSLocale componentsFromLocalEIDentifier:] + 12
3   AppSupport                      0x00016eee -[ALCitymanager localeWithCode:] + 130
4   MapKit                          0x00038488 -[MKMapView goToDefaultLOCATIOn] + 80
5   Foundation                      0x000907c6 __NSFireTimer + 130
6   CoreFoundation                  0x00075a40 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 8
7   CoreFoundation                  0x00077ec4 __CFRunLoopDoTimer + 844
8   CoreFoundation                  0x0007883e __CFRunLoopRun + 1082
9   CoreFoundation                  0x00008ebc CFRunLoopRunSpecific + 224
10  CoreFoundation                  0x00008dc4 CFRunLoopRunInMode + 52
11  Graphicsservices                0x00004418 GSEventRunModal + 108
12  Graphicsservices                0x000044c4 GSEventRun + 56
13  UIKit                           0x0002ed62 -[UIApplication _run] + 398
14  UIKit                           0x0002c800 UIApplicationMain + 664
15  MyApp                               0x000023f0 main (main.m:34)
16  MyApp                               0x00002370 start + 44

解决方法@H_674_15@
我得到了完全相同的崩溃报告,仅适用于iOS 4.3 / 4.3.1和iPhone 3GS / 4(armv7)

我认为这是一个Apple Bug,iOS4.3还有其他关于MapKit的丑陋回归. (就像MKReverseGeocoder早期发布的崩溃……)

>一个简单的解决方法是覆盖 – [MKMapView goToDefaultLOCATIOn],但由于它是一个私有API而面临苹果拒绝的风险……(拒绝了一个错误解决方法……我知道……人们很卑鄙)
>另一个解决方案是分析(反向…)CFLocaleCreateComponentsFromLocaleIdentifiercomponentsFromLocaleIdentifier:以及[ALCitymanager localeWithCode:]以了解它是如何崩溃的,使用Nil语言环境标识符调用并可能以编程方式修复应用程序区域设置,因为它看起来像是错误来了从设备设置(或更糟,从城市/地理位置)确定用户的区域设置…或至少WARN用户,其区域设置可能会导致麻烦…我不能(/想要)做的事情,不能重现那个bug.

大佬总结

以上是大佬教程为你收集整理的iphone – CoreFoundation中的CFStringGetLength中的iOS崩溃全部内容,希望文章能够帮你解决iphone – CoreFoundation中的CFStringGetLength中的iOS崩溃所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。