ユーザーがGUIを介してiPhoneシミュレーターにGPS情報を設定できるようにしたいと思います。
しかし、私はこれをアーカイブする方法がわかりません-iSimulateと呼ばれるこのツールは 独自のSDKをインストールする によって何らかの形でこれを行うようです。しかし、それによってシミュレータがどのように「オーバーライド」/「ハッキング」されるのか理解できません。
ありがとう!
私の知る限り、iSimulateはハックを採用していません。これは、シミュレータ上のアプリ内で実行されるコードであり、ネットワークを介してデバイスと通信します。デバイスからメッセージ(タッチ、GPS、加速)を受信すると、システムがトリガーしたかのようにアプリのコードを呼び出して、これらのイベントをシミュレートします。
たとえば、GPS位置の更新を受信するには、CLLocationManagerのインスタンスを作成してから、クラスの1つをデリゲートとして構成する必要があります。ええと、iPhoneシミュレータでは、代わりに偽のメッセージをデリゲートに送信するコードを開始できます。次のようにデリゲートのメソッドを呼び出すだけの場合:
[delegate locationManager:nil didUpdateToLocation:newLocation fromLocation:oldLocation];
コードは、位置情報の更新が偽であることを認識する必要はありません。凝ったものにしたい場合は、CLLocationManagerのすべてのパブリックメソッドを実装するが、代わりに偽のメッセージを送信する新しいクラスを作成できます。 (Objective-Cは動的に型指定されるため、送信するすべてのメッセージに応答する限り、サブクラスである必要はありません。)
補足として、これらのコンパイラマクロを使用して、コードシミュレータのみを保持できます。
#if TARGET_IPHONE_SIMULATOR
locationManager = (id)[[MyFakeLocationManager alloc] init];
#else
locationManager = [[CLLocationManager alloc] init];
#endif
Xcodeに統合された機能(≥4.2)があるため、2番目の回答を追加しました。場所の更新をシミュレートするには、2つの方法があります。
<wpt>
タグのみを使用してください:<?xml version="1.0"?> <gpx version="1.1" creator="Xcode"> <wpt lat="47.52789018096815" lon="7.385249894876031"></wpt> <wpt lat="47.52720984945248" lon="7.382647784661411"></wpt> ... </gpx>
IOSシミュレータには、完全な位置シミュレーションが組み込まれています。[デバッグ]メニューから、さまざまな位置オプションを探索できます。
NDA中に投稿された元の回答
このページ の右下のエントリを確認してください。私はNDAの下にいるので、かなりのガス代を節約できた以外は何も言えません。:)
http://github.com/futuretap/FTLocationSimulator で私のFTLocationSimulatorをチェックしたいかもしれません
Google Earthによって生成されたKMLファイルを読み取り、継続的な位置情報の更新を提供します。また、シミュレートされた位置更新でMKMapViewの青いuserLocationドットを更新します。
Xcode 4.2では、シミュレートできます。 (アプリを実行している間)デバッグ領域に場所のシンボルがあります。事前定義された場所がいくつかあります。また、 add 新しいGPXファイルもできます
ハイステファノス
GPSの情報は変更できません。これは保護されており、iSimulateで変更できるとは思いません。
私の知る限り、iSimulateは、加速度計、タッチ、向きなど、現在のGPS位置を含むコマンドをデバイスからiPhoneシミュレーターに送信するためのツールです。
ISimulateのSDKはアプリで動作します。アプリをデバイスにインストールし、SDKをプロジェクトに追加する必要があるため、通常どおりにアプリを実行してデバイスで実行する必要はありません。
乾杯、
VFN
@Ortwin Gentzの回答を拡張するだけです:
Gpxファイル内のすべてのgpsポイントの追加の構成が必要な場合。このページを見てください:
http://www.topografix.com/gpx_manual.asp
特定のポイントの速度や高さなどの詳細を提供する方法を正確に示します。