Xcode15のOrganizerでApp Storeにアップロードできないときの対処法
Xcodeを15.0にアップデートし、アーカイブをOrganizerでApp Storeにアップロードしようとしたところ、エラーが表示されてアップロードできませんでした。本記事では、私が遭遇したエラーの内容と原因、対処法を紹介したいと思います。
前提
Xcode 15.0
iOSアプリ開発
XcodeにログインしているApple IDアカウントのApp Store Connectの設定
役割:アプリManager
その他のリソース:証明書、ID、プロファイルへのアクセス権限はない
iPhone Distribution証明書と秘密鍵のファイルを受領して開発用Macのキーチェーンに登録済み
App Store用Provisioning Profileのファイルを受領してXcodeにインポート済み
再現手順
Xcode 15.0でアーカイブを実行する
アーカイブが終わるとOrganizerが自動で起動する
アップロード対象を選択し、[Distribute App] ボタンを押す
[Select a method for distribution] というタイトルの画面が表示されるので、[TestFlight & App Store] を選択して [Distribute] ボタンを押す
この手順で下記のエラーが発生しました。
発生したエラーの内容
ダイアログの中には次のメッセージが表示されていました。
エラーの回避策
Organizerの [Select a method for distribution] 画面で [Custom] を選択すれば、Xcode 14までと同じフローでApp Storeへアップロードすることができました。
Xcode 15の新機能:Streamlined Distribution
ところで、Organizerで [Distribute App] ボタンを押すと出てくる[Select a method for distribution] 画面は、Xcode 15で新規に追加された画面です。
Xcode 15のリリースノートの該当部分は次のとおりです。
また、Xcode updatesのページには以下のような記述がありました。
さらに、WWDC23のセッションでもこの機能が紹介されていました。
要するに、[TestFlight & App Store]、[TestFlight Internal Only]、[Release Testing]、[Debugging]といった選択肢はstreamlined optionsと呼ばれるものであり、たった1回クリックするだけで、署名からアップロードまでをオススメの設定に従って自動的に処理してくれる機能のようです。
原因(推測)
Xcode 14までは、Organizerで [Distribute App] を押した後にオプションやProvisioning Profileを選択したり確認したりする操作を5回ほど行うと、ようやくアップロードが始まるという流れでした。一方、Xcode 15の新機能である [Select a method for distribution] 画面の [TestFlight & App Store] などのボタンは、そのような煩わしい作業をXcodeが自動でやってくれるというものです。その自動処理の過程で、ログイン中のApple IDアカウントを使ってProvisioning Profileを取得しようとしているのではないかと思います。
ところが、今回エラーが発生したアカウントでは運用の都合上、App Store Connectのユーザ設定で証明書、ID、プロファイルへのアクセス権限をOFFにしていました。そのため、Provisioning Profileの取得に失敗したのだと推測しています(公式ドキュメントの記述が見当たらず、実際に検証もできていないため、確定情報ではありません)。
なお、証明書、ID、プロファイルへのアクセス権限がONになっているかどうかは、App Store Connectの [ユーザとアクセス] にある各ユーザの設定画面で確認できます。[Certificates, Identifiers & Profiles(証明書、ID、プロファイル)へのアクセス。] と書かれているチェックボックスです。
宣伝
NTTレゾナントテクノロジーでは一緒に働いてくれるAndroid/iOSアプリエンジニアを募集中です。もし興味がありましたら採用ページを是非ご覧ください。
(文:NTTレゾナントテクノロジー 西添)