2016年9月21日水曜日

『GPSの信号をさがしています問題』の解決

表題の件が解決したのでメモを残す

以下すべてiOS/iPodTouchでの内容であることに注意
AndroidおよびiPhoneについては未確認

もうこの表示とはサヨナラ

まえがき:
ポケモンGoで外部機器を用いた位置偽装を試している場合に
『GPSの信号をさがしています』というメッセージで固まってしまう場合がある
こうなってしまうと解除されるまで測位が行われず、偽装した位置情報も反映されない
なんらかの操作を行うと解除されやすい、という知見はあったが理由はわからなかった


原因:
iPodTouchが物理的に動いていないため

iOSではジャイロセンサ(もしくは加速度センサ)の変化が測位トリガーの一つである
ジャイロセンサ変化時≒スマホを持ってユーザーが移動したと解釈する(らしい)
移動を検知したら場所の再測位を行い、画面に反映する

偽装している場合、iPodTouchは机の上に置かれたままである
このためiPodTouchへの測位トリガーがなく、Wifiによる位置情報の変化も反映されない

GPSないし基地局測位を行っている場合の挙動は不明
Wifiの状態変化のみでは測位トリガーになり得ないことだけはわかった

操作を行うと解除されていたのは操作時にiPodTouchが物理的に動いたためだと思われる


解決方法:
『GPSの信号を探しています』旨のメッセージが出たらiPodTouchを振る
ジョークみたいな話だがこれで再測位が行われる

定期的に振っていれば『GPSの信号を探しています』というメッセージ自体が出ない
おそらくはiOS側の実装なので他の測位情報を用いるアプリでも同様の挙動と思われる

0 件のコメント:

コメントを投稿