2011-12-30 9 views
10

Xcode SimulatorでSignificant-Changeロケーションサービス(startMonitoringSignificantLocationChangesメソッド)をテストできるのか、実際のデバイスでのみ動作するのだろうかと思います。 私は既にSimulatorで試してみましたが動作しませんでしたが、これはシミュレータ上で動作しないか、または何か問題があったためであるかわかりません。Xcodeシミュレータで重要な変更をテストできますか?

おかげ

答えて

11

私はSOにする前に、この質問に答えて、シミュレータを使用して-startMonitoringSignificantLocationChangesをテストするための正確な方法ではありませんしました。

この方法は、主にセルタワー三角測量とハンドオフに依存します。時々、シミュレータから最初の修正を得ることができますが、それはそれです。その後、他の場所は更新されません。プログラムがこのメソッドに適切に応答しているかどうかを確認するには、デバイスでテストする必要があります。

代わりに、-didUpdateToLocationのコールバック内で実行する論理をテストし、代わりに-startUpdatingLocationを使用することもできます。これはバッテリ寿命の大きな欠点ですが、テストのために正確な場所の更新を得ることができます。シミュレーターですべてのねじれが解消されたら、重要な位置変更方法にすべてを転送し、オンデバイスでテストします。

これが役に立ちます。

+0

私はシミュレータ上の重要な場所の変更を 'フリードライブウェイ'オプションで正しくテストすることができますが、デバイスでテストすることはできません。どのようにこれをテストすることができる任意のアイデア? – hariszaman

11

XCode/iOS simulator: Trigger significant location change manuallyを参照してください。重要な場所の変更をシミュレートすることができますが、シミュレータの「フリーウェイドライブ」ロケーションデバッグモードを使用している場合は、アップデートを取得するまでに約5分かかります。

+0

正解です。ありがとう – user1244109

+1

私にとって、 'startMonitoringSignificantLocationChanges'とFreeway Driveモードを使ってXcode 7.2.1をシミュレータで使用すると、' didUpdateLocations:trigger 'にうまくいきました。私は5分もかからず、すぐに作業を開始しました。ありがとうございましたRyan H. – naomimichiko

関連する問題