55
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

iPhone simulator へのアプリ(.app)インストール方法

端末用のipaファイルからSimulatorへのインストールはarchitectureが異なるからか無理そうだったが、一度iPhone simulator でDebugした後であれば、別デバイス/バージョンのiPhone simulator へアプリインストールできた。
毎回ビルドするのに時間かかる場合に役立つかもしれない。
また、古いXcodeでビルドしたアプリをXcodeの新バージョンにbundleされたsimulatorで試したい場合など(xcode8ビルドのアプリを、Xcode9GMのiPhone X Smulatorで試したい)にも役立つかもしれない。

参考:
http://stackoverflow.com/questions/517463/how-can-i-install-a-ipa-file-to-my-iphone-simulator
http://stackoverflow.com/questions/26031601/xcode-6-launch-simulator-from-command-line

方法

事前準備

対象アプリをXcodeにてiPhone simulator で一度Debug実行しておく。

手順

  1. ターミナルを開く。
  2. デバッグしたiPhone simulatorの対象アプリフォルダへ移動。

    #simulator でデバッグした直後なら、~/Library/Developer/CoreSimulator/Devices内で一番TimpStampが直近のフォルダが対象のiPhone simulatorフォルダ
    $ cd ~/Library/Developer/CoreSimulator/Devices/[iPhone simulatorのID]/data/Containers/Bundle/Application/[アプリのid]
    
  3. 以下のコマンドでsimulator一覧を取得。
    ※新しいシュミレーターが出てこない時などは、Xode->Preference->Locations->Command Line Toolsを最新Xcodeに変えてみると解決するかもしれない。

    $ xcrun instruments -s
    

    ex simulator一覧出力例
    iPhone 6 Plus (8.4) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 6 Plus (9.3) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 6s (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 6s (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 6s (9.3) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 6s Plus (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 6s Plus (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 6s Plus (9.3) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 7 (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 7 (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 7 (11.0) + Apple Watch Series 2 - 38mm (4.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 7 Plus (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 7 Plus (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 7 Plus (11.0) + Apple Watch Series 2 - 42mm (4.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 8 (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 8 (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 8 (11.0) + Apple Watch Series 3 - 38mm (4.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 8 Plus (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 8 Plus (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone 8 Plus (11.0) + Apple Watch Series 3 - 42mm (4.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone SE (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone SE (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone X (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)
    iPhone X (11.0) [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx] (Simulator)

  1. 上記取得結果からsimulatorを指定してsimulator起動。

    $ xcrun instruments -w "3.で取得したsimulator idを指定"
    
    #例
    #xcrun instruments -w "[xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx]"
    
  2. simulatorに対象アプリインストール。

    $ xcrun simctl install booted (対象app名).app
    

ios-simulator-app-installerを利用する方法

ios-simulator-app-installer(brewでinstall)を使うという方法もあった。
上記のappファイルのGUIインストーラーを作成するツールで便利だった。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
55
Help us understand the problem. What are the problem?