iOSでジオフェンスに触れる②

こんにちは増島です!

引き続きジオフェンスについての話をしていきます。 前回の記事はこちらになります。
https://intheweb.io/geofence-ios/

今回のテーマはXcodeでジオフェンスの動作確認になります。 アプリをデバッグ実行し、Xcodeで位置情報をシミュレートすることによって端末の位置を擬似的に変えることができます。 それでは見ていきましょう。

今回作成したサンプルはこちらに置いてあります。 https://github.com/shushutochako/geofence-sample-swift


サンプルの機能

  • 日比谷公園あたりに半径500mで領域を作る
  • 端末が領域内に入ったらラベルで表示
  • 端末が領域内から出たらラベルで表示

シミュレーション内容

  • 東京駅から新橋駅まで車で移動するようなシミュレーションをする

この流れで、日比谷公園あたりに作った領域のエリアに入った時と出た時で、ちゃんとラベルに表示されるかを確認します。


実施手順

位置情報をシミュレートするにあたってGPXファイルが必要になります。 GPXとはGPS装置やGPSを使用するソフトウェア間でデータをやりとりするためのフォーマットです。
まずはこれを作成する準備をしましょう。

googleマップでルート情報を作成

具体的な手順は省きますが、下記のようにルート情報を作成します。 今回のテストでは東京駅〜新橋駅に移動する想定なので、それに沿ったルート情報をつくります。 こちらのページは後で使用するのでそのままの状態でとっておいて下さい。

GPXファイルの作成

続いてGPXファイルを作成していきます。 ファイルの作成には下記のサイトが非常に便利です。

https://mapstogpx.com/

Paste your Google Maps link here‥ の欄に先ほど作成したgoogleマップのURLを貼り付けて下さい。
下の部分にあるチェックボックスは「Track Points」で大丈夫なので、Lets' goを押下してください。

するとファイルがダウンロードされると思います。こちらがテストに使うGPXファイルになります。

GPXファイルの編集

実はダウンロードしたままのファイルだとXcodeで対応していないタグが使われているので 使用できません。Xcodeで使える形式に編集することが必要です。 それでは編集していきましょう。

まずはダウンロードしたGPXファイルをXcodeプロジェクトに突っ込んでください。 ファイルを開き下記の手順で編集します。

  1. 15〜22行目あたりにある東京駅と新橋駅のwptを削除する
  2. trkタグと trksegタグを全て削除する
  3. 「trkpt」の文字列を全て「wpt」に置換する

これでXcodeで使える形式になりました。

GPXファイルから位置情報のシミュレーション

アプリを起動して下さい。

デバッグエリアにある位置情報アイコンを押すことでプロジェクトあるGPXファイルを使うことができます。
先ほどプロジェクトに入れたGPXファイルが表示されるので選択します。

するとGPXファイルに定義された情報を元に移動を開始します! とても便利ですね!!
領域内に入った時と出た時でしっかりとラベルに表示されました!


いかがでしたでしょうか?
ちょっとした動作確認であればこの方法で可能ですね! 実機でもシミュレータでも実行することができます。
ただしデバッグ時しか使えないのでその点はご注意下さい。

以上、iOSでジオフェンスに触れるでした!

comments powered by Disqus