雑が喰おう

「僕の来た道」をアプリスイッチャーに残さずに記録を取る方法

現状、iOS8に対応しているActivatorからアプリを一括終了できるTweaksは「iRelease」だけである。1
しかし、除外アプリリストがないので求めているものと違う。

私が除外リストにこだわるのは、Workflowアプリから利用する事を想定してである。
WorkflowにiReleaseを挿入している場合、Workflowの途中でもWorkflowアプリが終了してしまうので、Workflowが完了しないからである。

スポンサード リンク

Workflow: Powerful Automation Made Simple
カテゴリ: 仕事効率化, ユーティリティ

たしかに、Workflowの最後に「iRelease」を持ってくれば、そこでアプリとともにWorkflowが終了するので問題ないのかもしれない。
しかし、Workflowアプリだけではなく「僕の来た道 」も除外リストに入れたいのである。

僕の来た道」は訪れた場所、滞在時間などを自動記録してくれるライフログ系のアプリだ。
アプリを立ち上げていなくてもバックグラウンドで記録し続けてくれるとはいえ、「Tinysquare for foursquare(swarm)」のように、アプリを終了しても位置情報を取得するということはなく、アプリの終了とともに位置情報も取得しなくなる。2

だから私は、iOS8に対応しているActivatorからアプリを一括終了でき除外アプリリストがあるTweaksがほしいのだ。
もちろん、iReleaseの作者にも要望をだした。

僕の来た道
カテゴリ: ライフスタイル, 旅行

Tinysquare for foursquare(swarm)
カテゴリ: ソーシャルネットワーキング, ライフスタイル

実証実験:「僕の来た道」はアプリがバックグラウンドにないと位置情報を取得しないのか

今回だけではなく、前回にもiOS8に対応しているActivatorからアプリを一括終了でき除外アプリリストがあるTweaksがほしいということはのべてきた。
Activatorからアプリをすべて終了でき除外リストもあるiOS8対応のTweaksがほしい

方向性は違うとはいえ、二回も同じ主張で記事を公開するのだから、今回は実証実験を行ってみた。

ジオフェンス

さっそく省略するが、前文の中でも書いた通り、「Tinysquare for foursquare(swarm)」はアプリがバックグラウンドになくても位置情報を取得し、予め登録した場所に近づいたら自動でチェックインする。
それがウリであり、私も実際に日々利用している機能のため省略した。
また、「iライフログ 」というアプリも併用して使用しており、こちらでも位置情報を利用して移動開始時間を記録しているが、こちらもバックグラウンドでアプリが起動していなくても記録される。

iライフログ
カテゴリ: 仕事効率化, ライフスタイル

ちなみに「Tinysquare for foursquare(swarm)」が自動チェックインするのを停止するには、次のURLスキームを実行する必要がある。

jp.natzsoft.tinysquare://auto-checkin/off

では、なぜこれらのアプリではバックグラウンドにアプリがなくても位置情報を取得できるのか。
これは、どちらのアプリも「ジオフェンス」を利用しているからだろう。3

あれ?
では、「僕の来た道」はジオフェンスを利用せずに常に位置情報を取得しているのか。
もしジオフェンスを利用しているのであれば、アプリがバックグラウンドになくてもだいたいの位置情報は取得できるのではないか。

やはり、実証実験の必要があるようだ。

実験内容と結果

実験内容は、「僕の来た道」をireleaseから完全に終了させて、外出し自宅にもどったろころで、「僕の来た道」を起動しログを確認した。

結果、ちゃんと位置情報が取得できていた!

アプリ内の地図でも確認してみたが、「僕の来た道」を終了させたあとは、ログを確認するために起動させるまでの記録がある
僕の来た道

これはどういうことか?

実はこれにはカラクリがある

iReleaseの仕様か

通常下記画像のように、アプリスウィッチャーや「Auxo3」から削除すると警告がでるのだが、「iRelease」から終了させる場合警告が出ない。

僕の来た道-警告

それだけにはとどまらず、「iRelease」から終了しても、ちゃんとログがとれているのである。
これは「iRelease」ではアプリの完全終了はできてないことを意味する少なくとも「僕の来た道」は終了されない。

これがバグなのかそういう仕様なのかはわからないが、今回の場合は既存のTweaksだけでやりたいことができるので気にしない。
逆に今後のアップデートで修正されるとまた除外アプリリストがほしくなる。

現行バージョンでは、「Auxo3」だけ「僕の来た道」を除外しておけば、Workflowアプリから使えるからである。

Workflowアクション

そして作ったWorkflowアクションがこちら。

iMemoryGraph」のノーマルメモリ解放を行った後、「iRelease」で起動アプリをすべて終了させるWorkflowアクション。

「iRelease」の実行で、Workflowアプリも終了するので、Workflowの終了を入れていません。
ただし、Waitの長さは使用状況により変動がありますから、うまく機能させるために、長めに設定しています。
もし、Waitの時間が短すぎると、メモリ解放されないままアプリが終了してしまうことがあります。

iMemoryGraph
カテゴリ: ユーティリティ, ビジネス

まとめ

今回は、たまたま「iRelease」をいじっていて気づいたバグにより、やりたかったことが実現できました。
これは逆に言えば、「iRelease」は効果が薄いともいえるため、今後の対応により修正される可能性もあります。

そうなった場合、また「僕の来た道」を終了させない手段を探さなくてはなりません。


  1. ほかにもあるかもしれないけど見つけられません。ご存知のかたは教えてください。 

  2. そうだったように思うだけかもしれないので確認が必要。 

  3. iOSのジオフェンス機能 – Qiita 

スポンサード リンク

スポンサード リンク

»関連してそうな記事