0

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";
}

私が間違っていることについて何か考えはありますか?

4

2 に答える 2

1

あなたのナビゲーションコントローラはサポートしていますCLLocationManagerDelegateか? イベントを送信しようとしてクラッシュしているようです。

あなたのlocationManager:didUpdateToLocation:fromLocation:機能はどのように見えますか?

于 2009-09-02T21:32:20.253 に答える
1

これはこの質問の副産物のようです

問題を解決するために、私はこのアプローチに従って巻き上げました

基本的に、ViewController の dealloc メソッドで -

- (void)dealloc {
locationManager.delegate = nil;
[locationManager release];
}
于 2009-09-03T16:03:29.593 に答える