概要
watchOS独立アプリをTestFlightにリリースした時に
"ITMS-90683: Missing purpose string in Info.plist ..."
の文章が返ってきてリジェクトされました
そのときの回避方法を記述します
開発環境・条件
- Xcode Version 14.2
- Swift Version 5.7.2
- macOS 13.0
- Apple M2
- Project作成時に "Watch-only App" を選択
試した事
WatchAppのInfo内の対象文字列を確認
- プロジェクト設定画面 TARGETS > WatchAppのInfo > 対象の文字列を確認
- もちろん設定済(設定していないとそもそもデバッグ等できないことが多い)
- 文言を修正してからリリース → 同じ理由でリジェクト
iOS側のバージョンを合わせる
- 下記を参考にiOS側のバージョンを合わせてからリリース → 本概要と同じ理由でリジェクト
iOS側のBuild Settings確認
- プロジェクト設定画面 TARGETS > iOS側のBuild Settings > Packaging > Info.plist File 確認
無事リジェクトされずにすみました
TestFlightはiOSを経由するためなのか、iOSのBuild Settingsにplistを紐づける必要があるみたいです
気になったこと
WatchAppのGeneralからVersionを変更すると対象のplistが勝手に変更される事がありました
リリース前にplist内を確認しておくことをお勧めします
まとめ
watchOS単独アプリのTestFlightリリース時に "ITMS-90683: Missing purpose string in Info.plist ..." でリジェクトされた場合、iOS側のBuild Settingsにもplistが登録されているか確認してみる