AppSetNetDev

アプリ開発のメモなどを残します。

iOSシミュレータのパスについて

iOSの開発ではiOSシミュレータが必須です。

全部実機でやってるぜヒャッハー!って人もいるかと思いますが、実機だと自前のフレームワークやらファイルやらがちゃんと意図した場所に入っているかどうか確認が面倒です。なによりも自分は全iPhone/iPadを揃えられるほど裕福ではないのでシミュレータ必須です。必須ですよね?

で、このパスは次の場所になります。

/Users/USER_NAME/Library/Developer/CoreSimulator/Devices

この直下にデバイスごと、iOSごとのパスがずらずらっと並んでいます。

ちなみにユーザ直下のLibraryフォルダはデフォルトで不可視フォルダとなっていますので、ここへアクセスするには次の三つの方法があります(多分他にもあるけど割愛)。

  1. Finderを開き、CMDキー + SHIFTキー + .(ピリオド) キーを押下する(Mac10.13のみ)。

  2. Finderを開き、移動 > フォルダへ移動 として表示されるテキストフィールドに上記パスを入力する。

3.ターミナルで

$ defaults write com.apple.finder AppleShowAllFiles TRUE

とする。

上記どれかを行なってFinderで開くと、次のような画面が視界に飛び込んできます

f:id:AppSetNetDev:20180228145053p:plain

アクセスさせる気があるのか、開発させる気があるのかと疑ってしまうようなフォルダ名ですが、何かしら理由があるのでしょう。 このフォルダ中のdevice.plistでデバイスのタイプ、iOSのバージョンなどがわかります。

f:id:AppSetNetDev:20180228145306p:plain

例えば上記だと

 deviceType : com.apple.CoreSimulator,SimDeviceType.iPad-Air

 runtime : com.apple.CoreSimulator.SimRuntime.iOS-9-3

とありますのでiPad-AiriOS 9.3のシミュレータだと分かるわけです。

よって、ご自身の作成されたiOSアプリのフォルダ構成などを確認する場合は、このdevice.plistの中をちまちまと確認...

できるわけねーだろ!!!ヾ(`Д´)ノ"

というわけでここから本題です。

毎回毎回起動させたシミュレータ+iOSバージョンのフォルダを探すとなると面倒なので、一括でエイリアスを作成するRubyスクリプトを組みました。 空き時間中にやっつけで作ったので、作りが粗いのはご勘弁。

githubにアップしてあります。

github.com

取得したiOSSimulatorList.rbを適当なエディタで開き、

DEVPATH = "/Users/xxxxx/Library/Developer/CoreSimulator/Devices"

となっている箇所を変更してください(xxxxxを正式なユーザー名に)。

保存して適当なフォルダで実行します。

$ ruby iOSSimulatorList.rb

そのフォルダ以下にエイリアスができます。

f:id:AppSetNetDev:20180228151938p:plain

なお、デスクトップとかで実行するとえらいことになるので(自滅したw)、どっか適当なフォルダを作ってその中でやるのが一番ではないかと思います。

他の人たちはどうやってるんだろ?と思ってググると、毎回Documentフォルダをログ出力してそれを開くという解決策もありました。

そっちの方がスマートかも(おいw)。

最後までご覧いただき、ありがとうございました。

たのしいRuby 第5版

たのしいRuby 第5版