[Xcode] watchOS専用アプリの設定トラブル

[Mac M2 Pro 12CPU, Sonoma 14.3.1, Xcode 15.2]

初めてwatchOS専用アプリを作製しています。

プロジェクトの設定、Archiveのアップロード、App Store Connectでのアプリ登録で深みにハマりました。

24/04/05追記
後で読み返すとプロジェクト設定の解決方法が分からないので結論を先に書いておきます。Watch-only Appとしてプロジェクトを作成した際にファイルのないiOSターゲットが作成されていれば成功、なければ失敗です。間違っても削除しないように。Archive作成時にApple DeveloperサイトのIdentifiersにアプリを登録、Profilesでプロファイルを作成し、Xcodeで登録する必要があります。Xcodeから自動的にIdentifierが登録されている場合はXCが先頭に付いているので編集しましょう。

1.プロジェクト設定
Watch-only Appとしてプロジェクトを作成します。下図のようにターゲットとして空のiOSアプリが表示されます。ビルド時に意味不明なエラーになり、iOSアプリを削除してみると正常になりました。これが間違いの始まりでした。

意味不明なエラー(再現性なし)

iOSアプリには独自のBundle Identifierが必要です。デバッグ版ではサイニング管理は自動で問題ないですが、TestFlightにリリース版をアップロードする際は固有のProvisioning Profileを作成してインポートします。App Store Connectでのアプリ登録にはiOSアプリのBundle Identifierを使用します。

watchOS専用アプリであっても、登録しない方のBundle Identifierの末尾に”.watchkitapp”は必須です。メインのアプリだから要らないだろうと勝手に判断していました。

2.Archiveのアップロード
空のiOSアプリがないまま、watchOSアプリとwatchOS拡張だけで開発を進めたためにArchiveがアプリとしてではなくターゲットとして作成されてしまいました。当然アップロードはできません。

不備があろうが最後まで開発できてしまうというのが非常に厄介です。空のiOSアプリが必要という警告が必要かと思います。

3.App Store Connectでのアプリ登録
空のiOSアプリは後から追加できません。不備な状態からファイルありのiOSアプリを追加するとArchiveが作成されてアップロードできますが、バンドルしているはずのwatchOSアプリが含まれていないので意味なしでした。

とにかくシミュレータの動きも怪しく、実機の方が確実です。最近、開発用にiPhone SE(第2世代)の中古を購入しました。Apple Watchも2台持ち(中古Series 8と開発用SE初代)です。

visionOSアプリの挙動をVision Proで確認できないのが何とももどかしい。 気軽に買えないのがつらいところです。今のところ購入予算は15万円です。廉価版整備品だとしても再来年あたりになるでしょうか。

XcodeやApp Store Connectのダメなところが一気に押し寄せてきて、かなり疲れました。開発者は少なからず鬱積した感情を抱えていることでしょう。