Edited at

GetWild退勤的なセンサーアプリを簡単に作れるフレームワークを作ったのでiPhoneに歯痛を心配されたり色々する

More than 3 years have passed since last update.

openSensorAppIos

https://github.com/oubakiou/openSensorAppIos

Cocoa Touch Frameworkではないです。センサーとアクションを組み合わせて設定すればそういう感じに動きます。GetWild退勤とかができます。スタンバイ画面には空のUIImageViewを置いてるので好きな壁紙を入れてビルドすれば良いと思います。


実装済のセンサー


Brightness(ディスプレイ輝度センサー)

https://github.com/oubakiou/openSensorAppIos/blob/master/openSensorApp/Sensor/Brightness.swift

ディスプレイ輝度(部屋の照度)を感知して、設定した閾値を上回るか下回るかしたら反応します。部屋が暗くなったらGet Wildを流したり、部屋が明るくなったらラジオ体操を流したりできます。


Proximity(近接センサー)

https://github.com/oubakiou/openSensorAppIos/blob/master/openSensorApp/Sensor/Proximity.swift

iPhoneにキスをするとマーマレードボーイの挿入歌が流れたり、iPhoneに歯を見せると歯痛を心配してもらえたりします。

https://itunes.apple.com/jp/album/chi-tong-dong-yun-you-ye/id449923109?i=449923243

テストのために購入して聞きましたが面白いのでサンプルを聞いてみると良いでしょう。


Shake(シェイクモーションセンサー)

https://github.com/oubakiou/openSensorAppIos/blob/master/openSensorApp/Sensor/Shake.swift

iPhoneを振ると何か出ます。


HttpReachability(HTTP疎通センサー)

https://github.com/oubakiou/openSensorAppIos/blob/master/openSensorApp/Sensor/HttpReachability.swift

登録しておいたURLへのHTTPリクエストが失敗するとIt's My Lifeが流れたりします。


実装済のアクション


PlayAudio(音楽の再生)

https://github.com/oubakiou/openSensorAppIos/blob/master/openSensorApp/Action/PlayAudio.swift

音楽を再生します。注意点としてDRMで保護された曲は再生できません。


OpenUrl(URLを開く)

https://github.com/oubakiou/openSensorAppIos/blob/master/openSensorApp/Action/OpenUrl.swift

ULRを開きます。対象のURLがユニバーサルリンクに対応したサイトの場合は対応したアプリが開くんじゃないかと思います。カスタムURLスキーマでも開けると思うので電話とかもかけられると思いますが、サーバが落ちたら掛かって来る無言電話とかこわいです。


新しいセンサーの作り方


  1. sensorNameList.plistに新しいセンサーの名前を追加してください

  2. Sensorディレクトリの下にHoge.swiftクラスを作成してください。なおNSObjectを継承しSensorProtocolに適合している必要があります。

  3. センサーの設定を行う画面としてHogeSettingViewController.swiftとxibを作成してください。UIViewControllerを継承し、SensorSettingViewControllerProtocolに適合している必要があります。


Sample

https://github.com/oubakiou/openSensorAppIos/blob/master/openSensorApp/Sensor/Proximity.swift

https://github.com/oubakiou/openSensorAppIos/blob/master/openSensorApp/Sensor/ProximitySettingViewController.swift


新しいアクションの作り方


  1. actionNameList.plistに新しいセンサーの名前を追加してください

  2. Actionディレクトリの下にFuga.swiftクラスを作成してください。なおNSObjectを継承しActionProtocolに適合している必要があります。

  3. アクションの設定を行う画面としてFugaSettingViewController.swiftとxibを作成してください。UIViewControllerを継承し、ActionSettingViewControllerProtocolに適合している必要があります。


Sample

https://github.com/oubakiou/openSensorAppIos/blob/master/openSensorApp/Action/OpenUrl.swift

https://github.com/oubakiou/openSensorAppIos/blob/master/openSensorApp/Action/OpenUrlSettingViewController.swift


注意点

引き続きバックグラウンドでの動作にはまだ対応していません。たぶんGPSセンサーの追加と同時ぐらいにやると思います。各種設定をDictionaryで保持してますがそのうちクラスになると思います。

リジェクトされなければそのうち自力ビルド出来ない人もAppStore経由で使えるようになると思います。