0

現在の場所を取得しようとしていますが、この問題に取り組んでいます:

約 90% の回数。場所を取得して呼び出すdidUpdateToLocation:か、失敗して を呼び出しますdidFailWithError:。期待どおりのすべて。

しかし、ときどき (*常に iOS 4.2 シミュレーターで、場合によっては実際の iPhone 4S デバイスで)、位置情報をまったく取得できず、コールバックを呼び出しません (didFailWithError を呼び出すこともありますが、開始後 2 ~ 3 分です)。場所の更新、時にはそれが行われないこともあります)、そのため、それを認識する方法が見つかりません。

ちなみに、場所を取得できないのはデバイス/シミュレーターです。これが発生すると、マップ アプリケーションも場所を取得せ、アニメーション化されたアクティビティ ホイールが無期限に表示されるためです。ほとんどの場合に機能するため、サービスが有効になっており、すべてが適切に構成されています。

質問: この状況を認識してユーザーに通知する方法はありますか?

よろしくお願いします

4

1 に答える 1

2

この問題を回避する唯一の方法は、タイマーを設定し、適切な時間 (たとえば、20 秒または 30 秒) 後にどちらのデリゲート メソッドも呼び出されない場合、位置情報を取得できないことをユーザーに通知することだと思います。それから電話stopUpdatingLocationして、後でもう一度やり直してください。

この動作が文書化されているかどうかはわかりませんが、場所の修正をまだ取得できない状態が長時間続く可能性があるため、場所の管理者からの応答が保証されていないようです。エラーを観察します。

于 2012-06-01T12:24:41.467 に答える