ロケーションマネージャーエラー:(KCLErrorDomainエラー0)


95
Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)

なぜこのエラーが発生するのですか?


良い質問です-私は時々同じエラーを見ました。ロケーションマネージャーが現在のロケーションを取得できない場合に発生すると私は考えています。たとえば、十分な修正が利用できないためです。しかし、私はそれ適切な修正得た後でそれを時々見ました、そして後でこのエラーがポップアップします。
frankodwyer

1
私にとっては、カスタムの位置の小数点記号にポイントの代わりにコンマを使用していたということです。
electronix384128

私は同じ問題を抱えていて、精度をkCLLocationAccuracyBestまたはいくつかの大きな値に設定し、エラーを無視して、さらなる更新を待ちます。
zaheer 2014年

回答:


163

このエラーScheme/Edit Scheme/Options/Allow Location Simulationは、デフォルトの場所をチェックしたが設定していない場合に発生します。他の原因もあると思います。


1
おかげで、私の質問は、デフォルトの場所を設定した場合、デバイスの場所の更新に影響しますか?
sKhan

@ShafKhanコメントで質問に答えないでください。新しい質問として質問してください。
邪魔にならない2013年

9
あなたはどこスキームは、このリンクを辿るている不思議されている場合developer.apple.com/library/mac/recipes/...
Bishal Ghimire

スキームエディターでデフォルトの場所を設定した後、デリゲートがdidFailではなくdidUpdateを呼び出すようにするには、「コンテンツと設定をリセットする」必要がありました。その後、うまくいきました。
owenfi 2015

これは私の問題を完全に解決します!どうもありがとうございました。
Ifelere Bolaji 2016

42

更新

THANKS TO ベン・マーテン あなたはXcodeでこれらの手順を使用して、それは永続的なものにすることができます。

  1. 製品>スキーム>スキームの編集
  2. Run .appをクリックします。
  3. オプションタブ
  4. すでにチェックされているコアの場所>場所を選択
  5. OKを押します

その上、Wi-Fiに接続していない場合でも、トップメニューアイテムDebug>Locationを使用してシミュレーターで場所を設定し、上記の手順を永続的に行うことができます

iOSシミュレータの位置エラー


1
永続化するには、Xcode:Product / Scheme / Edit Scheme ... / Run / Options / Core Location-Check "Allow Location Simulation"&Set "Default Location" to "None"
electronix384128

1
はい、動作します。どうもありがとうございます😃👍😄😃👌👏💃🙏💃💃。より多くの知識を得るために私の質問を編集する:)
Vaibhav Saran

33

私はこの問題を抱えていました。解決策を見つけるのにしばらく時間を要しましたが、それは前の投稿者の回答と大まかに関連しています。

iPhone / iPadシミュレーターのCoreLocationが機能するには、空港(WiFi)がオンなっている必要があります。私はイーサネット経由で接続されたので、CLはシミュレータで何もしませんでした。ネットワーク設定で空港をオンにして、もう一度お試しください。ワイヤレスよりも有線接続を優先したい場合は、Ethernetの下にAirportをドラッグして、ネットワークインターフェイスの順序を変更できます...


2
このエラーが発生し、私のコンピューターはWiFiを介してインターネットに接続されています。また、私が間違っていない場合、シミュレータは場所を解決せず、常にApple Officeの場所を使用します。MapKitフレームワークを使用すると、青い点が表示されるため、場所が設定されます。それはあまり意味がありません。
Alex Angelico、2010

1
オンにしただけで、ネットワークリストの最初ではありません。すべてが機能し始めました(ライオン、XC 4.2)
David H

1
私は同じ問題を抱えていましたが、シミュレーターではなく、デバイスで!(iPhone 5S、iOS 8.1.3)。MapKitとCoreLocationを使用してアプリケーションをデバッグしていて、両方のフレームワークが常に同じエラーを返しました。Wifiをオンにするまで おかげで:)
Vinzzz

13

APIドキュメントから:

CLError

ロケーションマネージャオブジェクトによって返されるエラーコード。

typedef enum {kCLErrorLocationUnknown = 0、kCLErrorDenied、kCLErrorNetwork、kCLErrorHeadingFailure} CLError;

定数

kCLErrorLocationUnknownロケーションマネージャーは現在ロケーション値を取得できませんでした。iPhoneOS 2.0以降で使用できます。CLError.hで宣言されています。

kCLErrorDenied位置情報サービスへのアクセスがユーザーによって拒否されました。iPhone OS 2.0以降で利用できます。CLError.hで宣言されています。

kCLErrorNetworkネットワークが利用できないか、ネットワークエラーが発生しました。iPhone OS 3.0b以降で利用できます。CLError.hで宣言されています。

kCLErrorHeadingFailure見出しを特定できませんでした。iPhone OS 3.0以降で利用できます。CLError.hで宣言されています。

したがって、これは場所を特定できなかったことを意味します。

最も可能性の高い原因は、ロケーションマネージャーがWiFiを使用して場所を三角測量していて、データベースがローカルネットワークをカバーしていないことです。ここに行っ場合、ユーザーが修正できるようです

ただし、前述したように、WiFiの場所が正常に機能する場所で場所ベースのプログラムを実行しているときに、これが一時的なエラーとして時々見られました。

最後に、なんらかのハードウェア障害があると、このエラーが表示される可能性があると思います。


4
KCLErrorDomain
electronix384128

この応答では、OPが探しているkCLErrorDomainへの参照はありません。
ノーマンH

5

1)実際に有効なWiFiおよび3G接続があることを確認します

もしそうなら

2)設定に移動して位置情報サービスをリセットします3)ネットワーク設定をリセットします


テスト時にiPadでwifiまたは3gがないと位置情報を取得できない理由がまだわかりません。なぜGPSが使用されないのですか?だから、デバイス上のユーザーはインターネットなしで位置を取得できませんか?私はオフラインモードアプリにも取り組んでいます...
Renetik、2013

私が知っている限りGPSはインターネットまたはwifi接続を必要としません.2つまたは3つのGPS衛星がアクセス可能な場所にある場合、それは単なる受信機です。地理位置座標を取得できます。インターネット接続について心配する必要があるのは、 GeoInformationは、ローカルにキャッシュされていないマップの場所を表示するためにインターネットに依存するGoogleマップなどのオンラインアクティビティに必要です。CoPilotなどの専用ナビゲーションアプリケーションは、マップをオンボードに保ちます。
Durai Amuthan.H 2013

3

このエラーは、Location Managerが位置情報をすぐに取得できない場合にスローされます。このエラーは、startUpdatingLocationメソッドが呼び出されたときに発生していたことがわかりました。私にとって、これはiPodで起こっていましたが、iPhoneでは起こりませんでした。iPhoneには位置情報を取得するためのより多くの方法(携帯電話ネットワークなど)があり、位置をすばやく見積もることができるのに対し、iPodでは時間がかかるためiPodでこのエラーが発生するので、それは理にかなっています。

このエラーがスローされると、locationManager:didFailWithError:delegateメソッドが呼び出されるため、このメソッドに渡されたエラーオブジェクトからの「[エラードメイン]」と「[エラーコード]」を照合することにより、条件付きステートメントでこの特定のケースを処理できます。


3

私が見つけた正確な理由は、iOSシミュレータの「デバッグ設定」とxcode設定の「スキームの編集」の両方でロケーションシミュレーションで競合が発生していることです。このいずれかにデフォルトのユーザーロケーションを設定し、他なしでは確かに、このかもしれないのヘルプを願って問題を解決しました。 InXcode:ここに画像の説明を入力してください

iPhone / iPadシミュレーター:ここに画像の説明を入力してください


3

エミュレータでこれを入手した場合は、以下を実行してください

Debug > Location >  Apple

エミュレータ命令


1

独自の場所のリストをXcodeに追加して、アプリケーションをテストできます。

Xcode内からメニューDebug / Simulate Locationを選択すると、以下が提供されます。

a. "Don't Simulate Location"
b. 12 example locations
c. "Add GPX File to Project..."

[プロジェクトにGPXファイルを追加...]を選択し、作成したGPXファイルを選択します。


0

Xcodeプロジェクト>製品>スキーム>スキームの編集>場所のシミュレーション>場所の設定>に移動し、アプリを再度実行します。


0

この記事のおかげで(https://possiblemobile.com/2013/04/using-xcode-to-test-location-services/)ので、カスタムGPXファイルのデータを確認するヒントが得られ、問題が見つかりました。

さまざまなソースから取得した一部のGPXファイルには、指定したパスのさまざまな座標を示す次の要素が含まれている場合があります。これはXcodeのロケーションシミュレーションでは機能しません。

<gpx>
...
<trkpt lat="" lon="">
<ele></ele>
</trkpt>
...
</gpx>

あなたがしなければならないことは、「trkpt」要素のすべての出現を見つけ、お気に入りのテキスト/ xmlエディターでそれを「wpt」に置き換えることです。最終結果は次のようになります。

<gpx>
<wpt lat="" lon="">
<ele></ele>
</wpt>
...
</gpx>

お役に立てれば!それは確かに私を助けました。


0

このエラーはプログラムの実行中に発生しますが、プログラムの実行後に位置をシミュレートします。

私はメソッドを取得します:シミュレータを終了して再起動し、プログラムを実行する前にシミュレータの場所を設定します。

お役に立てれば!それは確かに私を助けました。ありがとう...


0

これはすべて私にとってはうまくいきませんでした。私にとってうまくいったのは:-シミュレータから場所を設定し、アプリの実行中nonecustom場所を変更します。


0

私の場合、すべての提案が役に立たなかった。助けになったのは、シミュレーターデバイスからアプリをアンインストールし、再インストールして、(設定アプリ内の)場所にアクセスできるようにすることでした。


-1

デバイスでこれを取得している場合は、要求していないか、ユーザーが場所を収集する許可を拒否している可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.