我们有一个应用程序被推送到应用程序商店,可悲的是,它似乎在启动时就崩溃了,但只在 iOS 5.0 上,并且只在分发版本上。
崩溃日志中显示的错误代码如下:
Dyld Error Message:
Symbol not found: _CLLocationDistanceMax
Referenced from: /var/mobile/Applications/761DB0F1-E766-4DA7-A335-7F0FC53CA72C/Carlsberg.app/Carlsberg
Expected in: /System/Library/Frameworks/CoreLocation.framework/CoreLocation
in /var/mobile/Applications/761DB0F1-E766-4DA7-A335-7F0FC53CA72C/Carlsberg.app/Carlsberg
Dyld Version: 199.6
从应用程序中删除CLLocationDistanceMax可以解决此崩溃问题,但框架中没有迹象表明 iOS 5.0 无法处理此键。
我没有看到__OSX_AVAILABLE_STARTING变量或类似标记表明此代码使用起来很危险,并且在构建常规构建(调试构建)时不会发生崩溃。使用 adHoc 分布似乎有一些“随机”的崩溃频率。
我像这样使用它:
CLRegion *nearby = [[CLRegion alloc] initCircularRegionWithCenter:myloc.coordinate radius:CLLocationDistanceMax identifier:@"test"];;
真的是 Apple 忘记将此对象标记为 6.0+ 吗?