1
locationManager = [[CLLocationManager alloc] init];

locationManager.delegate = self;

locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move

locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m

[locationManager startUpdatingHeading];

このコードをviewWillAppearで使用していると、いつかこの警告に直面するので、そのデリゲートメソッドが呼び出されないようにします

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading 
4

2 に答える 2

0

メソッドの何かが-viewWillAppear:、ビューを表示しているアニメーションよりも時間がかかっています。可能であればCLLocationManager、バックグラウンド スレッドから、または実行ループの次のターンで開始できます。

dispatch_queue_t q = /* bg queue or main queue */
dispatch_async(q, ^{
    /* your CLLocationManager code */
});
于 2012-04-23T14:46:06.107 に答える
0

私はあなたがあなたのコードのintsedこの以下のコードを使用していると思います...

locationManager = [[CLLocationManager alloc] init];

locationManager.delegate = self;

locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move

locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m

[locationManager startUpdatingHeading];

locationManager オブジェクトを割り当てた後、最初にメソッドを定義startUpdatingHeadingします....このエラーに関するこの問題かもしれません....この問題が再び発生した場合は、コメントを残してください....これがあなたの助けになることを願っています.... :-)

于 2012-04-23T11:39:46.723 に答える