先日、横浜で開催された yidev 第18回勉強会 で、自作アプリ「FastCheckin」をApple Watch対応した時の話をしてきました。
FastCheckinとは
素早く簡単にfoursquareにチェックインするためのアプリです。
このアプリをApple Watch対応し、iPhoneをポケットから取り出すこと無くベニューにチェックインできるようにしました!
使ったAPI
 FastCheckinをApple Watch対応するにあたり、下記のAPIを使用しました。
- WKInterfaceImage - チェックイン中のアニメーション用
- WKInterfaceDevice - 画像のキャッシュ
- WKInterfaceTable - ベニューのリスト
- WKInterfaceMap - GlanceのフレンドMap
Glance*1では、最近チェックインしたフレンドをマップ上に表示する機能を実装しました。
ハマったこと 気付いたこと

位置情報取得に必要な権限
ユーザが位置情報のパーミッションを「常に許可」していないとApple Watch上では位置情報が取得できないことに気付きました。「このAppの使用中のみ許可」だとどんなに頑張っても位置情報が取得できません。
よって、ユーザにチュートリアルを表示して権限を変更してもらう等、何かしらの対応が必要になりそうです。
2015/3/20 追記:Xcode 6.2 GMでは「このAppの使用中のみ許可」でも位置情報が取得できるようになったようです。
地図に刺せるピンの数
最大で5本までしか刺せないことが判明しましたw まぁ、Apple Watchの少ないメモリ上でアプリを動かすことを考えれば当然の仕様な気もします。ピンの代わりに画像を表示してもこの制限は変わりません。
ちなみに地図上に画像を表示する場合も WKInterfaceDevice
によるキャッシュが効くみたいです。
画像キャッシュが便利

WKInterfaceDevice
による画像キャッシュがとても便利でした。例えば、Apple Watch上で画像をネットワークから取得する場合などは負荷が大きいため、一度取得した画像をキャッシュしておくことをおすすめします。
画像キャッシュについては、tidさんによる次の記事がとても参考になります。

消えた起動画面
たしかBeta 4あたりまではWatch Appが起動する際にスプラッシュ画面のようなものが表示されていました。Images.xcassets にも LaunchImage の項目が存在していましたが、Beta 5で突如無くなったもようです。
宣伝
今回紹介したFastCheckinですが、Apple Watchの発売を記念して無料セールを実施しております!(いつもは100円)
Apple Watchをゲットした際には、ぜひFastCheckinをインストールして使ってみてください!(^ω^)