現在実行中または単に終了したiOSシミュレーターのファイルシステムを参照する方法はありますか?特定のアプリのファイルを表示する方法があれば、それを見ることができるようになります。
これをプログラムで行いたくないことに注意してください。 Finderでファイルを表示/開きたい。
UPDATE:iOS 8以降:
〜/ Library/Developer/CoreSimulator/Devices
以前は次の場所でした。
〜/ライブラリ/ Application Support/iPhone Simulator
これには、これまでに実行したシミュレータのすべてのモデル(4.0、4.1、5.0など)のディレクトリがあり、Xcodeで実行しているものに移動します。
フォルダに移動したら、[アプリケーション]に移動し、ファイルの日付を表示する[Finder]オプションを選択して、日付で並べ替えます。ディレクトリを変更しただけなので、アプリケーションは最新のものになります...
ディレクトリ内には、アプリケーションに関連するすべてのものがあります。実行の間にファイルをドロップして、たとえば既知の状態の保存されたデータベースに戻すこともできます...
私はそこに頻繁に行き、FinderサイドバーにiPhone Simulatorディレクトリを保持します。
IOS8では、シミュレーターフォルダーはまったく異なるディレクトリにあることに注意してください。実際には、いくつかのディレクトリに分割され、アプリケーションを実行するたびに変わるアプリケーション固有のファイルのフォルダー名があります。
~/Library/Developer/CoreSimulator/Devices
~/Library/Developer/CoreSimulator/Devices/{{Device Code}}/data/Containers/Bundle/
プログラム「Activity Monitor」を開き、アプリ(シミュレーターではなくアプリ名のみ)を検索し、「情報」をクリックして「ファイルとポートを開く」を開きます。 2番目のエントリ(/Users/me/Library/Application Support/iPhone Simulator/4.2/Applications/B97A9504-0FA5-4826-BB6D-A2335A676459/VSGradientView.app/YourApp
など)をコピーします。これは実行中のアプリであり、<...>/B97A9504-0FA5-4826-BB6D-A2335A676459/VSGradientView.app/
はバンドル、<...>/B97A9504-0FA5-4826-BB6D-A2335A676459/*
はサンドボックスフォルダーです。
これをopen "/Users/me/Library/Application Support/iPhone Simulator/4.2/Applications/B97A9504-0FA5-4826-BB6D-A2335A676459/"
として端末に渡すと、フォルダがFinderで開きます。
複雑に聞こえますが、そうではありません。
print(NSHomeDirectory())
およびcopyパスを実行します。Shift+Cmd+G
を押します1.の代替方法は、ブレークポイントをキャッチして、コンソールでpo NSHomeDirectory()
を実行することです。
zsero answerに基づく
macOS 10.13.1
ターミナルで次の行を実行します
テンプレート
open `xcrun simctl get_app_container booted BUNDLEID_OF_YOUR_APP data` -a Finder
フルサンプル
open `xcrun simctl get_app_container booted com.Test data` -a
BUNDLEID_OF_YOUR_APP =「バンドル識別子」
解決策1の特徴
アプリの名前とコードを使用してbash scripを作成します。
script_file_name = `basename "$0"`
open `xcrun simctl get_app_container booted $script_file_name data`
解決策2の機能
場所の取得を自動化するか、スクリプトでそのフォルダーを使用する場合は、次のコマンドでrunningシミュレーターから正確な場所を取得できます。
xcrun simctl get_app_container booted my.app.id data
古い投稿ですが、シミュレータファイルを見つけるには SimPholders に言及する価値があると思います。シミュレーターアプリを追跡し、フォルダーとコンテンツに直接アクセスできるメニューバー項目です。すごいね。
(ここに元の答え: https://stackoverflow.com/a/26557165/377384 )
@zseroの回答に基づいて、アプリケーションIDのシミュレーターフォルダーを直接開く短いbash
スクリプトを作成しました。とても便利な!
openappfolder.sh
#!/bin/bash
APPID=$1
if OUTPUT=`xcrun simctl get_app_container booted $APPID data` ; then
open $OUTPUT
else
echo "$APPID not found!"
fi 2>/dev/null
それからちょうど
openappfolder.sh com.bundle.id
????
Xcodeバージョン8.2.1(8C1002)では、次のパスでシミュレーターにインストールされた.appファイルが見つかりました:~/Library/Developer/Xcode/DerivedData/[APPNAME]-[RANDOM HASH]/Build/Products/Debug-iphonesimulator