前提
- Expoのmanaged workflow
- expo-dev-clientを利用している
- eas buildを利用している
- iOSむけにad-hocビルドを配信したい
問題
- 新しいiOS端末を検証端末として登録したかった
- そのために
eas device:create
をして、新しい端末のUUIDを登録した - その後
eas build --profile development --platform ios
でad-hocのビルド実行した(--profile developmentのdevelopmentのところは各自のeas.jsonの設定によって異なります) - eas cliから
The provisioning profile is missing the following devices
と尋ねられるので、さっきeas device:create
で登録した端末を選択して続行 -
Failed to provision 1 of the selected devices:0000xxxx-000359960C21xxxx (iPhone)
という警告メッセージが表示されて、そのままビルドが続行される - ビルドしたアプリを新しい端末にインストールしようとすると「このAppは、整合性を確認できなかったためインストールできません。」と表示されてインストールできない
ちなみに、Apple Developerのdevicesでには新しい端末はちゃんと登録されている。
解決方法
-
Expoのコンソールから、provisioning profileを削除して、もう一度
eas build
する(その時にeas cliの指示に従って新しい端末含めてprovisioning profileを作り直す) - 念の為Apple Developerからも今使っているprovisioning Profileを削除しておく(しなくてもいいかも)
provisioning profileの削除の方法
Expoのコンソールトップ
↓
Projectsからprovisioning profileを削除したいprojectを選択
↓
左ペインからProject settingsの中のCredentialsを選択
↓
iOSを選択
↓
Ad-hocを選択
↓
Provisioning Profileの欄から削除したいprovisioning profileを削除
参考情報
おわりに
この問題に遭遇した個人開発アプリは↓です
【個人開発】「後で」返事ができる文通チャットアプリ「レイター」を作った話
XやThreadsでも個人開発について発信しています
→https://twitter.com/ObataGenta
→https://www.threads.net/@g.0bt