Home » AppleWatch » AppleWatchのサンプルアプリを動かす

AppleWatchのサンプルアプリを動かす

せっかくの発売日なので、AppleWatchのサンプルアプリをxcode上(エミュレータ)で動かしてみました。
本当は実機で動かしたいところですが、まだ入手できていないので・・・。

まずはサンプルコードを入手。
Lister (for Apple Watch, iOS, and OS X)

サンプルはListerというアプリです。
ToDoリストをAppleWatch側で消し込んでいけるようなToDo管理ツールっぽいアプリです。

ダウンロードしたサンプルを解凍すると、Objective-CとSwiftのソースがあります。
今回はSwiftのほうを使っていきましょう。

applewatch_lister_01

アプリの構成はこんな感じになっています。

applewatch_lister_02

Lister iOS Appが、iOS(iPhoneとかiPad)側のアプリです。
Lister OS X Appは、ホストをMacにする場合に使用するのかなと思います。(今回は使いません。)
Lister WatchKit Appが、AppleWatch側のアプリとなります。
このように、AppleWatchアプリの場合、iOSやOS Xなどのホスト側アプリとセットで構成されることになるようです。

さて、さっそくビルドしてみると・・・。

error: Embedded binary’s bundle identifier is not prefixed with the parent app’s bundle identifier.

ビルドエラーになりました。

実は、サンプルはこのままでは使うことができないんですね。
ソースに添付されている説明書(PDFファイル)に、ビルドするために必要な手順が書かれていますので、一読したほうが良いでしょう。

とりあえずPDFを見てみると、バンドルIDを書き換えてね、と書いてあるので、まずはその通りにしてみます。
バンドルIDを変更しなければいけない個所はいくつかあります。

ちなみにビルドは通っていて、実行時に以下のようなエラーメッセージが出力される場合があります。
こちらもやはり、バンドルIDの書き換え漏れが原因です。

The shared application group container is unavailable. Check your entitlements and provisioning profiles for this target. Details on proper setup can be found in the PDFs referenced from the README.

バンドルIDは、Build Settingの一番下にある、LISTER_BUNDLE_PREFIXを書き換えます。
以下のTargetすべて修正が必要となります。
Lister
Lister Tests
Lister Today
Lister WatchKit Extension
Lister WatchKit App

applewatch_lister_03

デフォルトでは、バンドルIDは com.example.apple-samplecode になっています。
自分のAppleIDに紐づいたバンドルIDに書き換えましょう。

バンドルIDを書き換えたら、GeneralタブのTeamで自分のAppleIDを指定します。

applewatch_lister_04

また、iCloudにアクセスするので、そのための設定が必要かもしれません。
fix issueのボタンが出ていればそれを押すか、Containersの再読み込みボタンでエラーを解消してみてください。

applewatch_lister_05

ちゃんと設定しているのになかなかエラーが消えない、っていう場合は、[Product]->[Clean]するとエラーが消えたりします。

ビルドが通ればエミュレータが立ち上がります。
最初はiOS(iPhone)の画面しか表示されていませんが、エミュレータのメニュー[Hardware]->[External Displays]で、AppleWatchを選べば、AppleWatchのアプリが表示されます。

applewatch_lister_00

やはり実機で見てみたいですね。

Post Tag With : ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です