AppleWatchアプリ開発 第1回 HelloWorld!

皆さんこんにちわ。 SuperSoftware東京オフィスの高橋です。 初投稿なので、簡単に自己紹介させていた…

皆さんこんにちわ。
SuperSoftware東京オフィスの高橋です。

初投稿なので、簡単に自己紹介させていただきます。
しばらくコンサルティングファームで勤務していましたが、
ふと自分でもアプリを作れるようになりたいと思い立ち、昨年SSへ転職して参りました。
直近では、ECサイトの構築やアプリ開発に奮闘しております。
どうぞよろしくお願いします。

さて巷でIoTが叫ばれて久しいですが、SS東京オフィスにもIoTの専門部隊があり、日夜新製品の構想&開発に取り組んでおります。
直近では新感覚の眼鏡型ウェアラブル端末の開発に力を入れており、社内でもかなりHOTなチームとなっています。私はそのチーム所属ではないですが、もともとIoTに興味があり1年ほど前AppleWatch&参考書を購入しました。

しかし「忙しいから」という言い訳を使い続けているうちに、針を進めすぎました。。。
 thumb_IMG_6601_1024

そこで今回のブログをきっかけに、ただの時計と化している自分のAppleWatchをいろいろいじってあげようと思い立ちました。

最終的に、何かしらのアプリを完成させることを目論みます!
そして記念すべき第一回目の内容、、、それはもちろん、
『「Hello World!」をAppleWatchに表示させる』!です。
千里の道も一歩からですね。
〜目次〜
1. 環境とか確認
2. プロジェクト作成
3. 実装&テスト
4. 大変だったこと
1. 環境とか確認
簡単に確認しておきます。
■開発環境
基本的にはXcodeさえあればOKで、iOSアプリを作る延長で作成が可能です。
(後述しますが、私の場合、環境準備がかなり厄介でした)
■開発言語
Objective-C、Swiftで可能です。今回はもちろんSwiftをチョイス。
今回の開発では
環境
  xcode7.2.1
  iOS9.3.2
  watchOS2.2
言語
  swift2.0
■アプリのネイティブ化
watchOS1.0では、サードパーティー製アプリはiPhoneを介してのみの動作でした。
しかし、WatchOS2.0からは、ネイティブ化も可能になっていました(ここまでは認識していました)。
そしてつい最近、ネイティブ化がマストになったようです!
スクリーンショット 2016-06-04 23.06.40
つまり、こういうイメージ。
888c3fb1-2ef2-995b-8942-a08e4fbff373
アプリを動かすWatchKitExtentionフレームワークが、watchOS2ではAppleWatch側に乗るようになっていることがわかります。
(AppleHPより転載)
2. プロジェクト作成
さぁいよいよ、プロジェクトを作成し、手を動か準備をしましょう。
2−1. iOSApplicationの作成
WatchKitAppを開発するには、対応する既存のiOSアプリケーションをまず作成する必要があります。「Single View Application」を選択しNext
 スクリーンショット 2016-06-04 23.43.43
アプリ名はhelloWatchAppにしておきます。
スクリーンショット 2016-06-04 23.44.26
特にiOSAppには何の記述もしません。
2−2. WatchKitAppの作成
次に、WatchKitAppを追加します。
File>New>TargetでWatchKitAppを選択し、iOSAppとは異なる名前をつけます。
スクリーンショット 2016-06-07 1.13.35
スクリーンショット 2016-06-04 23.50.06
WatchkitApp側のアプリ名は、helloWatchkitAppとしておきます。
3. 実装&テスト
 やっと準備が整い、プログラミングの開始です。でもやることはほとんどありません。
helloWatchKitAppフォルダのinterface.storyboardを選択し、右下のパーツ一覧から、LabelをInterfaceControllerへドラッグ&ドロップして、
テキスト入力で「Hello World!!!」と書くだけです。
スクリーンショット 2016-06-04 23.55.59
iphoneをMacと接続し、Build & Run!(再生ボタンを押下)。
実機にコピーされるのを待ちます(ちょっと時間がかかります)。
thumb_IMG_6605_1024
 すると、今回のApp のアイコンが表示されています(見えづらいですがAmazonアイコンの右上)。
アイコンを押下してみると、、
thumb_IMG_6606_1024
ちゃんと「Hello World!!!」って表示されています!大成功!
 IoT業界にとっては極めて小さな一歩ですが、
何もしていなかったにとっては大きな一歩になりました。
次回は、ボタンなど何かアクション出来るように実装していきたいと思います!
4. 大変だったこと
今回やってることは全然大したことではないのですが、環境準備にものすごく時間がかかりました。
私のiOSのバージョンが最新の9.3だったため、まず実機テストのために、xcodeを最新にしろとメッセージが出ました。
xcodeを最新にしようとしたところ、最新のxcodeはMacOS X  Yosemiteでは動かないとのメッセージが。。。。
迷いましたが、仕方なくEICapitanにアップデートすることにしました。
基本的に放置ではありますが、アップデートに1営業日ぐらいはかかりました。
これで、やっと動かせると思いましたが、まだダメ!
今度は、WatchOSのバージョンが2.0ではダメだったようで、「OS version lower than deployment target」 のエラーが。
スクリーンショット 2016-06-06 1.31.58
最新の2.2にして、やっと実機テストが可能になりました。
登場する端末が増えると、その分大変になります。