search
LoginSignup
24

More than 5 years have passed since last update.

posted at

updated at

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

CfnHCB6UUAAI1tv.jpg

actionsetting.jpg

openSensorAppIos
https://github.com/oubakiou/openSensorAppIos

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

実装済のセンサー

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

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

Proximity(近接センサー)

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

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

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

iPhoneを振ると何か出ます。

HttpReachability(HTTP疎通センサー)

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

実装済のアクション

PlayAudio(音楽の再生)

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

OpenUrl(URLを開く)

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

新しいセンサーの作り方

  1. sensorNameList.plistに新しいセンサーの名前を追加してください
  2. Sensorディレクトリの下にHoge.swiftクラスを作成してください。なおNSObjectを継承しSensorProtocolに適合している必要があります。
  3. センサーの設定を行う画面としてHogeSettingViewController.swiftとxibを作成してください。UIViewControllerを継承し、SensorSettingViewControllerProtocolに適合している必要があります。

Sample

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

  1. actionNameList.plistに新しいセンサーの名前を追加してください
  2. Actionディレクトリの下にFuga.swiftクラスを作成してください。なおNSObjectを継承しActionProtocolに適合している必要があります。
  3. アクションの設定を行う画面としてFugaSettingViewController.swiftとxibを作成してください。UIViewControllerを継承し、ActionSettingViewControllerProtocolに適合している必要があります。

Sample

注意点

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

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
24