Edited at

Apple Watchアプリ作成、申請時の注意点まとめ

More than 3 years have passed since last update.

今回、アプリをApple Watchに対応しました。

その時にいくつかはまったことがあったので、メモがてら残しておきます。


画像は@2x画像で用意する

Apple WatchはRetinaディスプレイなので、当然なのですが、@3x画像が使えませんでした。

Images.xcassetsで画像を追加するときに@3xの指定もできましたが、指定を@2xで。

スクリーンショット 2015-04-16 17.38.16.jpg

@3xで画像を設定すると、なぜか画像が小さく表示されました。

大きいサイズで設定しておけばいいかなーとか思っていたら、そうでもないようです。

画像サイズはそのままで@3x@2xへリネームしたら、画像サイズそのままで表示されました。


アプリのバージョンを合わせる

Extension同様にApple Watchアプリにもアプリのバージョンが存在します。

「WatchKit Extension」「WatchKit App」それぞれにInfo.plistがあります。

スクリーンショット_2015-04-16_17_48_02.jpg

このVersion(CFBundleShortVersionString)、Build(CFBundleVersion)をiOSアプリ側と同じにする必要があるようです。

デフォルトではバージョンが1になっているのですが、ここを書き換えてアプリのバージョンを同じにしましょう。

(同じでない場合はエラーになって、ビルドできませんでした)


Apple Watch用のアイコンは透過させてはいけない

Apple Watch用のアイコンはいくつかあります。

スクリーンショット 2015-04-16 17.52.54.jpg

ここで設定するアイコンはアプリのアイコン同様に透過させてはいけません。

透過させたアイコンを使用して、申請をするとエラーということで、バイナリ申請ができませんでした。


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

・参考:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/WatchHumanInterfaceGuidelines/IconandImageSizes.html

通知に対応していないアプリもあるかと思いますが、追加しておいたほうがよさそうです。


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を確認する方法は以下に書きました。

http://qiita.com/takashings/items/f979fbe80740dab4023b

ひとまず、今回のアプリでハマったことを並べてみました。

いくつかApple Watch対応のアプリを作る予定なので、その際に躓いたらこちらに追加しようと思います。


2015年4月28日(火):「AdHoc配布をする際にはApple WatchのUDIDをProvisioningProfileに追加する必要がある」を追加しました