回答:
受け入れられた回答はSDK 3.2に対して正解です-SDK 4は、そのパスの/ Userフォルダーを、シミュレートできるレガシーiPhone OS / iOSバージョンのそれぞれの番号に置き換えます。したがって、パスは次のようになります。
〜/ライブラリ/ Application Support / iPhone Simulator / [OS version] / Applications / [appGUID] /
以前のSDKが一緒にインストールされている場合、3.1.xシミュレータは引き続き次の場所にデータを保存します。
〜/ライブラリ/ Application Support / iPhone Simulator / User / Applications / [appGUID] /
Xcode6およびiOS8の場合
〜/ライブラリ/ Developer / CoreSimulator / Devices / [DeviceID] / data / Containers / Data / Application / [AppID] /
po NSHomeDirectory()
してください。デバッガーに入力するだけです。Go> Go To Folder(Cmd-Shift-G)に切り取って貼り付けます。
NSLog
、あなたにこのAppDelegate
のdidFinishLaunchingWithOptions:
あなたがすることができ、またはpo NSHomeDirectory()
デバッガから。どちらの場合も、文字列をコピーし、ファインダーでを使用して開きCmd+Shift+G
ます。変更点を知る必要がなく、標準のコマンドで質問しているので、これはうまくいきます。
ターミナルなしでアプリデータがどこにあるかを見つける別の(より速い?)方法があります。
NSString *uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
デバイス識別子を提供
それを見つけた:
~/Library/Application Support/iPhone Simulator/User/
iOS 8〜/ライブラリ/ Developer / CoreSimulator / Devices / [Device ID] / data / Applications / [appGUID] / Documents /
xcrun instruments -s
ライオンについて Users/[username]/Library
は隠されています。
Finderで表示するには、画面上部の[移動]メニューをクリックし、[alt]キーを押しながら[ライブラリ]を表示します。
「ライブラリ」をクリックすると、以前に非表示にしたライブラリフォルダが表示されます。
以前にアドバイス:
使用する
chflags nohidden /users/[username]/library
ターミナルでフォルダを表示します。
どこかでブレークポイントをキャッチします。
入力po NSHomeDirectory()
中にコンソールウィンドウ
(lldb)po NSHomeDirectory() / Users / usernam / Library / Developer / CoreSimulator / Devices / 4734F8C7-B90F-4566-8E89-5060505E387F / data / Containers / Data / Application / 395818BB-6D0F-499F-AAFE-068A783D9753
シミュレーターが実行されている場合は、任意のアプリのコンテナーへのパスを取得できます。
xcrun simctl get_app_container booted <app bundle identifier>
出力例:
$ xcrun simctl get_app_container booted com.example.app
/Users/jappleseed/Library/Developer/CoreSimulator/Devices/7FB6CB8F-63CB-4F27-BDAB-884814DA6FE0/data/Containers/Bundle/Application/466AE987-76BC-47CF-A207-266E65E7DE0A/example.app
「ブート済み」はほとんどに置き換えることができます simctl
、デバイスのUDIDが期待される場所であれば、コマンドに。
でデバイスのリストを表示しxcrun simctl list
たり、特定のコマンドのヘルプを表示したりできますxcrun simctl help
。
更新:Xcode 8.3の一般的なリクエストにより、「app」、「data」、「groups」、またはアプリグループ識別子を追加することで、必要なコンテナーの種類を指定できるようになりました。
データコンテナを取得するには:
$ xcrun simctl get_app_container booted com.example.app data
Xcode 5では、以下のコードを使用できます。
#import <Foundation/NSFileManager.h>
そして:
NSString *homeDir = NSHomeDirectory();
NSLog(@"%@",homeDir);
結果は次のようになります。
"/Users/<your user name>/Library/Application Support/iPhone Simulator/7.1/Applications/hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh"
hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh
iOSアプリを識別する16進文字列はどこにありますか。
po NSHomeDirectory()
Xcode 6.0は、少なくともiOS 8シミュレータでは、この場所をもう一度移動したようです。
〜/ライブラリ/ Developer / CoreSimulator / Devices / [DeviceID] / data / Containers / Data / Application / [AppID]
シミュレータ内のアプリの場所を見つける最も簡単な方法の1つ。ユーザー「NSTemporaryDirectory()」
手順-
アプリがブレークポイントで停止したら、Xcodeコンソールで次のコマンドを入力します。
po NSTemporaryDirectory()
これで、一時フォルダーまでの正確なパスが得られました。戻って、アプリに関連するすべてのフォルダを表示できます。
これもお役に立てば幸いです。ハッピーコーディング:)
po NSHomeDirectory()
でしょうか?
$ open /Library/Developer/CoreSimulator/Profiles/Runtimes
例:iOS 13.0
、watchOS 6.0
これらは、はるかにスペースを取ります。それぞれ最大5GBまで可能
$ open ~/Library/Developer/CoreSimulator/Devices
例:iPhone Xr
、iPhone 11 Pro Max
。これらは通常、それぞれ<15 mbです。
シミュレーターは、ランタイムとデバイスの間で分割されます。走れば$ xcrun simctl list
すると概要が表示されますが、これらのシミュレータの物理的な場所を確認したい場合は、私が示したこれらのディレクトリを調べてください。
サポートしていないランタイムを削除しても安全です。必要に応じて、後でこれらを再インストールできます。
単にこれを行う:
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSLog(@"%@", docDirPath);
そして、あなたはこのような考えを得るでしょう:
/ Users / admin / Library / Developer / CoreSimulator / Devices / 58B5B431-D2BB-46F1-AFF3-DFC789D189E8 / data / Containers / Data / Application / 6F3B985F-351E-468F-9CFD-BCBE217A25FB / Documents
そこに行くと、XCodeのバージョンに関係なく、アプリのドキュメントフォルダーが表示されます。(Finderで[フォルダに移動...]コマンドを使用して、パス "〜/ library"を指定します)。
文字列パスのSwiftバージョン:
let docDirPath =
NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask, true).first
print(docDirPath)
およびフォルダのURL:
let docDirUrl =
FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first
print(docDirUrl)
Xcode 4.6の場合、次のパスに保存されます...
/ Users / [currentuser] /ライブラリ/ Application Support / iPhone Simulator / 6.1 / Applications /
プログラムでそれを知るには、次のコードを使用します
NSLog(@"path:%@",[[NSBundle mainBundle]bundlePath]);
print("path: \(NSBundle.mainBundle().bundlePath)")
iOS 8の場合
Documentsフォルダーを見つけるには、Documentsフォルダーにファイルを書き込みます。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"Words.txt"];
NSString *content = @"Apple";
[content writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionAllowLossy error:nil];
と言うdidFinishLaunchingWithOptions
。
次に、ターミナルを開いてフォルダを見つけます。
$ find ~/Library -name Words.txt
だれでもまだこの問題が発生している場合は、〜/ライブラリディレクトリを表示するための19の異なるヒントを含む素晴らしい記事があります。Dan Frakesの記事はこちらhttp://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html
シミュレータのディレクトリが以下に示されていることを覚えておいてください
〜/ライブラリ/ Application Support / iPhone Simulator / User /
以下のコードを使用して試すことができます
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
NSLog(@"File path%@",pdfFileName);
私はこのプログラムとは関係ありませんが、これをファインダーで開くことを検討している場合、SimPholdersはそれを信じられないほど簡単にします。
cd ~/Library/Application\ Support/iPhone\ Simulator/