我有一个使用CoreLocation的iPhone应用程序。
首次安装应用程序时,会显示iPhone系统消息,询问用户是否要允许位置服务,如果他们单击是,我的应用程序突然显示我的应用程序的第一个屏幕(我正在使用导航控制器) ),并崩溃。这就是我在日志中看到的内容 -
warning: UUID mismatch detected with the loaded library - on disk is:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony
=uuid-mismatch-with-loaded-file,file="/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony"
Program received signal: “EXC_BAD_ACCESS”.
堆栈跟踪看起来像这样
我的代码与LocateMe示例(可在我的设备上运行)相距太远。我有这个:
CLLocationManager *clLocationManager = [[CLLocationManager alloc] init];
clLocationManager.delegate = self;
if (clLocationManager.locationServicesEnabled) {
[clLocationManager startUpdatingLocation];
} else {
self.searchBar.placeholder = @"Enter location";
}
有任何想法,我做错了吗?
答案 0 :(得分:1)
导航控制器是否支持CLLocationManagerDelegate
?它看起来像是试图向你发送一个事件而崩溃。
您的locationManager:didUpdateToLocation:fromLocation:
功能是什么样的?
答案 1 :(得分:1)
看起来这是this question
的副产品为了解决这个问题,我在this approach
之后结束了基本上,在我的ViewController的dealloc方法中 -
- (void)dealloc {
locationManager.delegate = nil;
[locationManager release];
}