[iOS] ベータ版のシミュレータに、前のバージョンのXcodeで作ったアプリをインストールしたい

2021.09.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。きんくまです。

iOS 15が出ましたね。

この時期、新OSの正式リリース前に、現在リリース中アプリの動作確認をしたい需要があると思います。

ベータ版のOSに、稼働中のアプリをインストール方法は、いくつかあると思いますが、ひとまず2通り考えると以下になりました。

  1. 実機にベータ版のOSをインストール。それにipaファイルを使ってインストール
  2. ベータ版のシミュレータにappファイルを使ってインストール

1の実機を使った方法は、実機でのみ確認できる機能をテストするのに有効です。
しかし実機にインストールしてしまうと、以前のOSのバージョンに戻せなくなってしまうので、なかなかハードルが高いです。

そこで今回は2のシミュレータにインストールする方法をやってみます。

注意
ただし、シミュレータでの検証なので、実機のみの機能はテストできません。(カメラ撮影など)
なので、ざっと軽く動作検証をするものだと思っていただければ。

appファイルを取得する

まずは既存のXcodeから立ち上げたシミュレータに入っているappファイルを取得します。

Xcodeのメニュー > Window > Devices and Simulators

アプリをインストールしているシミュレータを探して、Identifierをコピーします

Finderで以下のパスを表示します

/Users/{User名}/Library/Developer/CoreSimulator/Devices/

さきほどのIdentifierを探します。ソート順をNameにすると見つけやすいです。

そこからディレクトリを降りていきます

{シミュレータのID}/data/Containers/Bundle/Application/{アプリケーションID}/アプリ名.app

フルパスだとこんな感じです。

/Users/{User名}/Library/Developer/CoreSimulator/Devices/{シミュレータのID}/data/Containers/Bundle/Application/{アプリケーションID}/アプリ名.app

ここで、アプリケーションIDの見つけ方なのですが、以下のようにアプリにコードを書いて手がかりを見つけてもよいのですが、あまり数が多くなければ、ひとつずつ開けていってもそんなに手間ではないと思います。

let path = NSSearchPathForDirectoriesInDomains(.applicationDirectory, .userDomainMask, true)

アプリ名.app ファイルをどこかにコピーしておきます。

ベータ版のシミュレータにインストール

  1. ベータ版のシミュレータを立ち上げる
  2. ホーム画面にする(アプリアイコンが並んでいる)
  3. さきほど手に入れたアプリ名.appファイルを、シミュレータにドラッグドロップ
  4. うまくいけばインストールできる
  5. アプリを立ち上げて動作確認

という感じで、インストールできました!

ではでは