2013-11-23 7 views
5

CLLocationManager kCLErrorDomainコード?私は次のエラーを受信して​​いiBeaconとCoreLocationを使用して

エラー操作を完了できませんでしたドメイン= kCLErrorDomainコード= 16」(kCLErrorDomainエラー16)

私はそれが欠けていない限り。 、エラーコードのそれぞれが何を意味するのかについて、アップルの明確な言及があるようには思えない

誰もがこのエラーコードを解釈できる

からのエラー・コール:?

- (void)locationManager:(CLLocationManager *)manager rangingBeaconsDidFailForRegion: (CLBeaconRegion *)region withError:(NSError *)error{ 
NSLog(@"%@", error); 
} 

- (void)locationManager:(CLLocationManager *)manager monitoringDidFailForRegion:(CLRegion *)region withError:(NSError *)error{ 
NSLog(@"%@", error); } 
+1

[CLError](https://developer.apple.com/library/mac/documentation/CoreLocation/Reference/CoreLocationConstantsRef/Reference/reference.html)のドキュメントと、ヘッダーファイル「CLError.h」を参照してください。 '' – quellish

答えて

12

CLErrorのドキュメントをご覧ください。値16はkCLErrorRangingUnavailableです。

ドキュメントは言う:

Ranging is disabled. This might happen if the device is in Airplane mode or if Bluetooth or location services are disabled.

+0

優れています。そのチップをありがとう。 (投票された) –

+1

はい、ありがたいことです - 明らかにアップルのバグですが。ビーコンが遠隔操作されているため、位置情報サービスははっきりと機能していましたが、この短いエラーが発生して自動修正されました。だから、ビーコンはうまくいっている、あなたはエラーメッセージを取得し、再びうまくいく。私たちは電話やビーコンに触れていませんでした。ビーコンの監視に基づいて、信号の強さに変化はありませんでした。返信ありがとう! – BEEKn

+0

携帯電話の電源を入れたり切ったりして、私のために固定しました。 – shim

1

また、あなたはアプリのバックグラウンド更新が有効になっていることを確認してください。何らかの理由でiOS 7.1.1でiPhone 5を使用している場合、アプリがフォアグラウンドになっていても、バックグラウンドアプリの更新が無効になっているとビーコンの範囲にはなりません。 App Refreshをオンにすると、ビーコンが再び範囲を決めるようになりました。

1

CLError列挙型を使用してエラーを返すことで、場所のエラーを特定の明確な方法で処理できます。

それは次のようになります。CLErrorヒントで@rmaddyする

func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) { 
    if let locationError = CLError(rawValue: error.code) { 
    switch locationError { 
    case .Denied: 
     println("Location permissions denied") 
    default: 
     println("Unhandled error with location: \(error)") 
    } 
    } 
} 

感謝。

関連する問題