わふうの人が書いてます。

iOSアプリケーション開発、BLEのファームウェアとハードウェア試作のフリーランスエンジニア。

iBeaconの検出でバッググラウンドで何かを実行する(不成功)

iBeaconを検出して、バックグラウンドで何かを処理させる手軽な誰にでもできそうな方法を探しましたが、見つかりませんでした。

ビーコン販売と紐付けたアプリケーションもしくはサービスは、調べてはいません。今手元にあるiOSデバイスで、ビーコンとその検出の振る舞いをすぐに確認できる方法を求めているので、特定のビーコンを購入しなければ試せないものは、今回の調査対象外です。

iOSアプリあるいはPythonistaで、実行可能なアプリケーションを作れば、バックグラウンドでのビーコンの検出と、その検出を何かのイベントに紐付ける振る舞いは作れます。

iOS標準アプリの、ショートカットには、オートメーションの機能で位置をトリガーにする機能があります。ですが、トリガー条件に指定できるのは物理的な位置のみで、iBeaconは指定できません。

Launch Center Proというアプリケーションのランチアプリで、アプリ内課金640円ほどで、位置でフックするオプションを有効にして、iBeaconの検出をトリガーにして、通知画面にアプリへのリンクを表示させることはできました。ですが、アプリ自体の実行は、人間がロック画面から通知をタップして実行しなければならず、自動で内部で実行が進みません。Launch Center Proのトリガー実行は、URLで指定されるので、httpサーバを起動して、そのサーバにアクセスさえできれば外部フックとして使えるだろうと思い試しましたが、ブラウザへのURL表示の実行パスができるだけで、アプリを自分で実行するほかないのは、変わりませんでした。

httpsサーバの簡易なアクセスログ取りは、このサイトを参照しました。

Google Spreadsheet を簡易 Webサーバーとして動かして、手軽にWebHookを受け取る方法 https://qiita.com/kunichiko/items/7f64c7c80b44b15371a3