リリースまでに2回リジェクトでした。
・iPhone上のWatchアプリに表示されるアプリ名が、ストアのアプリ名と異なる。
(a) iPhone上のアプリアイコン下の名称は、CFBundleDisplayName
(b) Watchアプリに表示されるのは、CFBundleName
(a)は省略名になる場合が多いので、別としたのだろう。
(b)のCFBundleNameは、何もしてないとプロジェクト名が入るので、違いが出てしまいますね。
今までは、(a)だけのローカライズでよかったけども、Watch対応アプリは(b)のローカライズも必要ということに。
InfoPlist.stringsに、二つの名称を記載して、反映しました。
CFBundleDisplayName = “Scheduled”;
CFBundleName = “Scheduled Watch”;
このファイルをローカライズ。
シミュレーターでアプリを更新しても反映されない場合があるので、初期化や対象を変更したりしないとよくわからない。このローカライズは一番最初に入れてしまっておけばよさそう。
Watch側で何がどこに表示されるかわからないため、Info.plistが必要な対象、それぞれに含めた。
2. iPhone側での内容更新が、Watch側に反映されない。
Watch側アプリを再起動すると反映されるので、これでいいかと思っていたらそうではなかった。
willActivateが呼ばれた際、最新のデータを取得できないといけないのかも。
Apple Watch Programming Guideの、Debugging Your Activation Code部分に記載があるように、ロックとアンロックで、didDeactivateとwillActivateが確認できる。
Watch側アプリを開いた後、ロックして、iPhone側でデータ更新。
Watch側をアンロックして、更新内容が反映されているかを確認できればOKそう。
データ更新されてないよ!で致命的不具合というリジェクトは初めてでした。
リリースしたアプリはこちらです!
[Apple Watch] 「あとマルmini for Watch」リリース!