263

アプリデータの保存に使用しているSQLiteDBがあり、その内部を調べて問題をデバッグすることができますが、iPhoneシミュレーターは通常、データをどこに保存しますか?

4

21 に答える 21

314

Xcode6 + /iOS8+の場合

〜/ Library / Developer / CoreSimulator / Devices / [DeviceID] / data / Containers / Data / Application / [AppID] /

受け入れられた答えはSDK3.2に対して正しいです-SDK4は、そのパスの/ Userフォルダーを、シミュレートできるレガシーiPhone OS / iOSバージョンごとの番号に置き換えるため、パスは次のようになります。

〜/ライブラリ/アプリケーションサポート/iPhoneシミュレーター/[OSバージョン]/アプリケーション/[appGUID] /

以前のSDKを一緒にインストールしている場合、その3.1.xシミュレーターはデータを次の場所に保存し続けます。

〜/ライブラリ/アプリケーションサポート/iPhoneシミュレーター/ユーザー/アプリケーション/[appGUID] /

于 2010-08-16T17:00:53.683 に答える
112

ターミナルなしでアプリデータがどこにあるかを見つける別の(より速い?)方法があります:

  1. シミュレーターでアプリを起動します
  2. アクティビティモニターを開く
  3. [CPU]タブでアプリの名前を見つけます
  4. それをダブルクリックして「ファイルとポートを開く」を開きます

ここに画像の説明を入力してください

于 2014-10-05T10:11:57.570 に答える
99

これまでで最も簡単な方法。

  1. どこかでブレークポイントをキャッチします。(またはNajdanTomićがコメントで述べたように、プログラムの実行を一時停止します(デバッグ領域で一時停止をタップします))

  2. コンソールウィンドウpo NSHomeDirectory()に入る

結果:

(lldb)po NSHomeDirectory() / Users / username / Library / Developer / CoreSimulator / Devices / 4734F8C7-B90F-4566-8E89-5060505E387F / data / Containers / Data / Application / 395818BB-6D0F-499F-AAFE-068A783D9753

于 2018-01-12T06:19:20.477 に答える
78

それを見つけた:

~/Library/Application Support/iPhone Simulator/User/
于 2009-07-10T07:04:33.577 に答える
75

iOS 8〜/ Library / Developer / CoreSimulator / Devices / [Device ID] / data / Applications / [appGUID] / Documents /

于 2014-08-07T20:10:02.137 に答える
65

ライオンにUsers/[username]/Libraryは隠されています。

Finderで簡単に表示するには、画面上部の[移動]メニューをクリックし、[Alt]キーを押しながら[ライブラリ]を表示します。

「ライブラリ」をクリックすると、以前に非表示にしたライブラリフォルダが表示されます。

以前のアドバイス:

使用する

chflags nohidden /users/[username]/library

ターミナルでフォルダを表示します。

于 2011-10-31T01:54:41.080 に答える
45

シミュレーターが実行されている場合は、任意のアプリのコンテナーへのパスを取得できます。

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
于 2016-11-20T06:41:02.667 に答える
37

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-hhhhhhhhhhhhiOSアプリを識別する16進文字列はどこにありますか。

于 2014-04-21T15:56:28.983 に答える
31

アプリがシミュレーター内のどこにあるかを見つける最も簡単な方法の1つ。ユーザー「NSTemporaryDirectory()」

手順-

  1. アプリ内の任意の場所にブレークポイントを適用し、アプリを実行します。
  2. アプリがブレークポイントで停止したら、Xcodeコンソールで次のコマンドを入力します。

    po NSTemporaryDirectory()

適切な洞察については、以下の画像を参照してくださいここに画像の説明を入力してください

これで、一時フォルダまでの正確なパスが得られました。戻って、アプリに関連するすべてのフォルダーを表示できます。

これもお役に立てば幸いです。ハッピーコーディング:)

于 2015-08-19T05:43:56.620 に答える
30

Xcode 6.0は、少なくともiOS 8シミュレーターでは、この場所をもう一度移動したようです。

〜/ Library / Developer / CoreSimulator / Devices / [DeviceID] / data / Containers / Data / Application / [AppID]

于 2014-09-24T22:50:06.787 に答える
10

単にこれを行います:

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)
于 2016-02-06T15:27:18.333 に答える
10

Xcodeが2019+Catalina、Xcode11.0でシミュレーターを保存する場所

ランタイム

$ open ~/Library/Developer/CoreSimulator/Profiles/Runtimes

例:iOS 13.0watchOS 6.0これらははるかに多くのスペースを占有します。それぞれ最大5GBまで可能です

デバイス

$ open ~/Library/Developer/CoreSimulator/Devices

例:iPhone XriPhone 11 Pro Max。これらは通常、それぞれ15mb未満です。

説明

シミュレーターは、ランタイムとデバイスに分割されます。実行$ xcrun simctl listすると概要が表示されますが、これらのシミュレータの物理的な場所を確認したい場合は、私が示したこれらのディレクトリを調べてください。

サポートしていないランタイムを削除するのは完全に安全です。必要に応じて、後でこれらを再インストールできます。

于 2019-09-13T19:58:49.477 に答える
7

iOS 5の場合:

/ Users/[ユーザー名]/Library / ApplicationSupport / iPhone Simulator / 5.0 / Applications / [AppGUID] /

于 2012-03-28T14:28:49.293 に答える
6

Xcode 4.6の場合、次のパスに保存されます。

/ Users / [currentuser] / Library / Application Support / iPhone Simulator / 6.1 / Applications /

プログラムでそれを知るには、次のコードを使用してください

  NSLog(@"path:%@",[[NSBundle mainBundle]bundlePath]);
于 2013-07-29T14:11:57.977 に答える
4

iOS8の場合

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
于 2014-07-29T10:55:17.587 に答える
2

誰かがまだライオンでこの問題を経験しているなら、あなたの〜/Libraryディレクトリを表示するための19の異なるヒントを含む素晴らしい記事があります。ここでDanFrakesの記事を見つけてくださいhttp://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html

シミュレータへのディレクトリは以下のとおりです。

〜/ライブラリ/アプリケーションサポート/iPhoneシミュレータ/ユーザー/

于 2012-01-05T11:58:23.557 に答える
2

Xcodeをあまり使用しないreact-nativeユーザーの場合は、を使用できますfind。ターミナルを開き、データベース名で検索します。

$ find ~/Library/Developer -name 'myname.db'

正確な名前がわからない場合は、ワイルドカードを使用できます。

$ find ~/Library/Developer -name 'myname.*'

于 2019-06-26T14:42:13.350 に答える
2

macOS Catalinaの場合、次の場所でデータベースを見つけました。

~/Library/Developer/CoreSimulator/Devices/{deviceId}/data/Containers/Data/Application/{applicationId}/Documents/my.db

を取得するためにapplicationId、変更した日付でフォルダーを並べ替えましたが、それを行うためのより良い方法があると確信しています。

于 2019-12-19T14:30:00.867 に答える
1

私はこのプログラムとは関係がありませんが、ファインダーでこれを開くことを検討している場合は、SimPholdersを使用すると非常に簡単になります。

于 2019-02-23T02:36:42.527 に答える
0

以下のコードを使用してみてください

NSString *fileName = @"Demo.pdf";
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
    NSLog(@"File path%@",pdfFileName);
于 2013-05-30T07:34:51.060 に答える
0

シミュレーターでxCodeを組み込んだアプリの辞書を開くには、次の手順を実行します。

  1. ファインダーワインダーを開く(スマイリーフェイスアイコン)
  2. 次に、[移動]->[フォルダに移動]をクリックします
  3. タイプ:〜/ Library / Application Support / iPhone Simulator
  4. ディレクトリは、さまざまなシミュレータのiOSバージョンです。
  5. サブディレクトリは、シミュレータにインストールされるアプリです。
  6. Documentsフォルダは、iCloudにバックアップするユーザー生成コンテンツの場所です
于 2014-08-16T18:41:49.297 に答える