Expo を使って iOS シミュレータにビルド済みアプリをインストールする
Expoを利用したアプリ開発にて、iOS シミュレータにビルドしたアプリをインストールする手順です。
この場合のビルドも、Expoのサーバにやってもらうことができとても簡単です。
エラーになってインストールできない場合があるので、その時の対処方法も記載しています。参考になれば。
ドキュメント
Expo のドキュメントに書いてある通りです。これを参考にやれば問題なくできます。
https://docs.expo.io/distribution/building-standalone-apps/
Expo サーバでシミュレータ用のビルドを実行
以下のコマンドで、ビルドを開始します。基本的にはExpoサーバにリクエストして、サーバにてビルドが行われます。
expo build:ios -t simulator
Expo のWebコンソールにて、ビルドの状況を確認できます。 終わるまで他のことしましょう。
生成されたAPKをダウンロード
ビルドが終わっていればAPKをダウンロードでき流ようになっています。 ダウンロードできるファイルは圧縮されているので、好きなアプリケーションを使って解凍しましょう。
tar -xvzf app.tar.gz
シミュレータへ D & D
上記で用意したAPKをシミュレータにドラッグアンドドロップすれば、シミュレータへのインストールができます。
以下コマンドでもインストールできるそうです、今度やってみます。
xcrun simctl install booted ./appへのパス
エラーが出たら
ビルドをリクエストした際のコンソールにも出力されているのですが、シミュレータへのインストール時に以下のエラーが出て失敗する場合があります。
… is damaged and can’t be opened.
ファイルについている属性が邪魔していることが原因です。
ls -l@
とかを実行すると、OSごとに特殊な属性を確認できます。
今回はcom.apple.quarantine
という属性が邪魔をしているようです。
以下のコマンドで属性を削除して、再度インストールを試してください。 xattr は属性を編集するコマンドで、-r はディレクトリを再帰的に、-d は属性の削除の意味になります。
xattr -rd com.apple.quarantine ./appへのパス
終わりに
こちらも簡単にできました。
アプリ開発の場合、シミュレータでインストールして動作確認。その後、testflight を使って実機へ配布して確認。
問題なければリリースの手順にしています。
それぞれの手順を行うたびに調べるのはめんどくさいので、情報として残しておいていつでも参照できるようにしました。
できれば覚えてしまいたいところですが、結構ややこしい面もあるのでいいかなと思っています。