今回、アプリをApple Watchに対応しました。
その時にいくつかはまったことがあったので、メモがてら残しておきます。
##画像は@2x画像で用意する
Apple WatchはRetinaディスプレイなので、当然なのですが、@3x画像が使えませんでした。
Images.xcassetsで画像を追加するときに@3xの指定もできましたが、指定を@2xで。
@3xで画像を設定すると、なぜか画像が小さく表示されました。
大きいサイズで設定しておけばいいかなーとか思っていたら、そうでもないようです。
画像サイズはそのままで@3x→@2xへリネームしたら、画像サイズそのままで表示されました。
##アプリのバージョンを合わせる
Extension同様にApple Watchアプリにもアプリのバージョンが存在します。
「WatchKit Extension」「WatchKit App」それぞれにInfo.plistがあります。
このVersion(CFBundleShortVersionString)、Build(CFBundleVersion)をiOSアプリ側と同じにする必要があるようです。
デフォルトではバージョンが1になっているのですが、ここを書き換えてアプリのバージョンを同じにしましょう。
(同じでない場合はエラーになって、ビルドできませんでした)
##Apple Watch用のアイコンは透過させてはいけない
Apple Watch用のアイコンはいくつかあります。
ここで設定するアイコンはアプリのアイコン同様に透過させてはいけません。
透過させたアイコンを使用して、申請をするとエラーということで、バイナリ申請ができませんでした。
Invalid Icon - The watch application 'XXXXXXXXXX.app/PlugIns/XXXXXXXXXX WatchKit Extension.appex/XXXXXXXXXX WatchKit App.app' contains an icon file 'XXXXXXXXXX.app/PlugIns/XXXXXXXXXX WatchKit Extension.appex/XXXXXXXXXX WatchKit App.app/AppIcon29x29@3x.png' with an alpha channel. Icons should not have an alpha channel.
透過させているアイコンを差し替えてもう一度申請してください、というメールが届いて、バイナリは受け取ってもらえませんでした。
ちなみに、Apple Watch用のアイコンのサイズ一覧はこちら。
Apple Watch (38mm) | Apple Watch (42mm) | |
---|---|---|
Notification Center icon | 48 px | 55 px |
Long-Look notification icon | 80 px | 88 px |
Home Screen icon | 80 px | 80 px |
Short-Look icon | 172 px | 196 px |
また、iOS側で使用するアプリ用のアイコンはこちら。
- | @2x | @3x |
---|---|---|
App icon | 58 px | 87 px |
通知に対応していないアプリもあるかと思いますが、追加しておいたほうがよさそうです。
##WatchKit Extension, WatchKit App用のProvisioning Profileが必要
これもApplication Extension同様にProvisioning Profileが必要です。
それぞれApp IDを登録して、Provisioning Profileを作成しましょう。
これをしていないと申請できません。
##Apple Watchでの時計アプリは現時点では全てリジェクト対象
もう言っていますが、これです。
最初から若干リジェクトの対象かな…と思っていたら、まさにそうでした。
自分がパパッと作ったアプリはリジェクト対象となりました。
時計以外に特に他の機能を付けていないというのも理由になるのかもしれませんが、時計アプリはリジェクト対象となるようです。
##AdHoc配布をする際にはApple WatchのUDIDをProvisioningProfileに追加する必要がある
作成中のアプリをAdHoc配布でテスターの人に確認をしてもらう際にProvisioningProfileにApple WatchのUDIDが含まれていないとインストールができません。
iPhoneにはインストールができても、Apple Watchにはインストールができないという状況になってしまいます。
Apple Watchを持っているテスターの人にテストをしてもらう際には事前にUDIDを確認しましょう。
UDIDを確認する方法は以下に書きました。
ひとまず、今回のアプリでハマったことを並べてみました。
いくつかApple Watch対応のアプリを作る予定なので、その際に躓いたらこちらに追加しようと思います。
2015年4月28日(火):「AdHoc配布をする際にはApple WatchのUDIDをProvisioningProfileに追加する必要がある」を追加しました