備忘録

開発でつまったところの備忘録.不定期に更新します.

HueSDKを使ったiOSアプリの動かし方

今日のお題はPhilipsのHueです。↓

f:id:nawafuji:20140528150925p:plain

これはスマホからアプリを通してon/offや色を制御できるという照明で、

PhilipsからSDKが公開されており、アプリが開発できるようになっています。

 

最近これをiOSで動かすというタスクが発生し、よくわからないながらもなんとか動かすことができたので、方法をメモしておきます。

( xcode5.1.1 iOS7 )

1. 用意されているサンプルアプリを使う

iOS用のSDKをダウンロードすると、中に

 QuickStartApp_iOS

というものが付いてきます。これをフォルダごと作業スペースにコピーして、同時に

  • Lumberjackフォルダ
  • HueSDK_iOS.framework

も作業スペースにコピーしましょう。このとき相対位置関係を維持しておくとライブラリのパスの関係が崩れないので楽です。

そうしたら、QuickStartApp_iOSの中のxcodeprojファイルを開きます。

サンプルはもうこれで動くので、拡張したい場合は

 PHControlLightsViewController

をいじりましょう。これで簡単にHueのアプリができます。

ほかにも多くのファイルがありますが、ここらへんはHueのブリッジとの通信とかをやっているので詳しく調べる気がない限りいじらない方が良いでしょう。

2. 既存のアプリに組み込む

しかし、いちいちこのサンプルアプリをもとにしなければいけないというのは、開発の自由度が下がります。既存のアプリに組み込みたいということもあるでしょう。

しかし、ブリッジとの通信とかをいちいち理解するのは面倒です。

ということで、よくわからないままにサンプルアプリからとりあえず必要そうなものをコピーして動かすという方法をとります。

ということでまず、QuiciStartApp_iOSから

  • SDKWizardフォルダ
  • PHAppDelegate.h&.m

を組み込み先のプロジェクトにドラッグ&ドロップでコピーします。(この後のドラッグ&ドロップではすべてファイルを組み込み先にコピーするようにチェックします)

もとのAppDelegateは消去して、main.mのAppDelegateをPHAppDelegateに書き換えます。サンプルアプリはなぜかいまだにxibファイルを使っているのでPHAppDelegate.hの90行目あたりを

gistc01f47dee86b579cdd58

のように変更します。

また、PHControlLightsViewControllerとなっているところを自分のViewControllerの名前に直します。

まだエラーが大量に出てるはずなので、ライブラリを追加します。

まず、Build Phase->Link Binary With Librariesに

 HueSDK_iOS.framework

を追加します。

そして、Frameworksのところに、Lumberjackフォルダをドラッグ&ドロップでコピーします。これでだいたいエラーが消えて、動くようになるはずです。

ViewContorllerの中身は欲しい機能だけ選んでコピペして、好きなイベントに割り当てるといいと思います。

 

以上です。これから開発を進めていきます。