テストにより、必要な精度を低く設定するCLLocationManager
と、このコンポーネントの動作にバグが生じることがわかりました。
これが私が行った2つのテストです:
必要な精度をに設定します
kCLLocationAccuracyHundredMeters
。そうすると、デバイスは私の位置を希望どおりに正確に見つけることができなくなります。これが私CLLocationManager
の代理人からのログです:Accuracy is 1500.000000 (desired accuracy is 100.000000) Accuracy is 1500.000000 (desired accuracy is 100.000000)
それでおしまい。水平精度1500の30秒で2つのイベント。
希望精度をに設定し
kCLLocationAccuracyBest
ます。次に、デバイスが私を見つけます!同じログ:Accuracy is 1500.000000 (desired accuracy is -1.000000) ... Accuracy is 162.957953 (desired accuracy is -1.000000) ... Accuracy is 76.356886 (desired accuracy is -1.000000) ... Accuracy is 47.421634 (desired accuracy is -1.000000)
私はテスト1とまったく同じ場所にいますが、今回は、デバイスが最初に必要な精度(つまり、100.0)で現在地を見つけることができます。
同じ結果を得るために、これら2つのテストを何度も繰り返しました。
私の質問は:
「精度を設定したときにiPhoneデバイスが自分の位置を見つけようとしない理由を誰かが知っていますkCLLocationAccuracyHundredMeters
か?」</ p>
精度をに設定すると、kCLLocationAccuracyBest
別のハードウェアセンサーがオンになる可能性があると思いますが、これはバグとは見なされませんか?この問題に関連するものをインターネット上で見つけることができませんでした。
あなた自身の経験を共有してくれてありがとう。(テストは、Wi-Fiおよび電話ネットワークを介した3GSデバイスで行われました)