現在実行中または終了したiOSシミュレータのファイルシステムを参照する方法はありますか?特定のアプリのファイルを表示する方法がある場合は、それを表示できることで解決します。
プログラムでこれを実行したくないことに注意してください。Finderでファイルを表示/開きたい。
現在実行中または終了したiOSシミュレータのファイルシステムを参照する方法はありますか?特定のアプリのファイルを表示する方法がある場合は、それを表示できることで解決します。
プログラムでこれを実行したくないことに注意してください。Finderでファイルを表示/開きたい。
回答:
更新: iOS 8以降:
〜/ライブラリ/ Developer / CoreSimulator / Devices
以前は以下の場所でした。
〜/ライブラリ/ Application Support / iPhone Simulator
これには、これまでに実行したすべてのシミュレータモデル(4.0、4.1、5.0など)用のディレクトリがあり、Xcodeで実行しているものに移動します。
フォルダに移動したら、[アプリケーション]に移動し、ファイルの日付を表示する[Finder]オプションを選択して、日付順に並べ替えます。ディレクトリを変更しただけなので、アプリケーションは最新のものになります...
ディレクトリ内には、アプリケーションに関連するすべてのものがあります。たとえば、実行の間にファイルをドロップして、既知の状態にある格納されたデータベースに戻すこともできます...
私は頻繁にそこに行きますが、FinderサイドバーにiPhone Simulatorディレクトリを保持します。
iOS8では、シミュレータフォルダーは完全に異なるディレクトリにあることに注意してください。実際には、いくつかのディレクトリに分割されており、アプリを実行するたびに変わるアプリケーション固有のファイルのフォルダー名が含まれています。
Go
メニューを表示しながらオプションキーを押すこともできます
xcrun simctl get_app_container booted my.app.id data
~/Library/Developer/CoreSimulator/Devices
~/Library/Developer/CoreSimulator/Devices/{{Device Code}}/data/Containers/Bundle/
{{Device Code}}}
は、目的のシミュレータをXcodeで開き、Finderで~/Library/Developer/CoreSimulator/Devices/
ディレクトリをで並べ替えることが簡単な方法ですDate Modified
。最新のものはあなたが欲しいものです。
{{Device Code}}
[Hardware]> [Device]> [Manage Devices ...]で確認できます
「アクティビティモニター」プログラムを開き、アプリ(シミュレータではなくアプリ名のみ)を検索し、「情報」をクリックして、「ファイルとポートを開く」を開きます。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でフォルダが開きます。
複雑に聞こえますが、そうではありません。
.app
アプリケーションのファイルシステムを確認するためにに行く必要はありません。
print(NSHomeDirectory())
してコピーします。Shift+Cmd+G
1.の代替方法は、ブレークポイントをキャッチしpo NSHomeDirectory()
てコンソールで実行することです。
viewDidLoad
あなたのViewController
。多分私は「走る」ではなく何かを書いたほうがいい。ありがとう!
zseroの回答に基づく
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 = "バンドルID"
ソリューションの特徴1
アプリとコードの名前でbashスクリプトを作成します。
script_file_name = `basename "$0"`
open `xcrun simctl get_app_container booted $script_file_name data`
ソリューションの特徴2
古い投稿ですが、シミュレータファイルを見つけるにはSimPholdersに言及する価値があると思います。これは、シミュレーターアプリを追跡し、それらのフォルダーとコンテンツに直接移動できるメニューバー項目です。それはすごいです。
(ここでの元の答え:https : //stackoverflow.com/a/26557165/377384)
Swift 4.2以降の場合、次のコードのように配置します。
#if targetEnvironment(simulator)
print("::::: SIMULATOR :::::")
if let documentsPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.path {
print("App Documents Directory:\n\(documentsPath)\n")
}
#endif
...次のようなソースコードの場所
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// ...
return true
}
ターミナルのコマンドラインで、cd
またはopen
ターミナル上で結果のパスを使用します。または、shift-cmd-G
「フォルダへ移動...」Finderプロンプトにパスを貼り付けます。
古い言語バージョンを含む関連回答:iOS 8 Beta Simulatorのドキュメントディレクトリパス