3

ExampleAppというアプリがある場合、基本的にハードコードされたパスを使用せずに「〜/ Library / Logs/ExampleApp」を見つけたいと思います。NSSearchPathForDirectoriesInDomainsがあり、NSApplicationSupportDirectory検索用語を使用して「〜/ Library / ApplicationSupport / ExampleApp」などを検索できますが、ロギング用の検索用語がないようです。

CrashReporterはログをそこに置くので、〜/ Library/Logsは非標準ではないと思います。

4

2 に答える 2

4

これを試して :

NSString* libraryPath = [NSHomeDirectory stringByAppendingPathComponent:@"Library/Logs"];

更新(〜/ Library / Logs / AppName)

NSString* bundleName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
NSString* logsPath = [NSString stringWithFormat:@"Library/Logs/%@",bundleName];

NSString* libraryPath = [NSHomeDirectory stringByAppendingPathComponent:logsPath];
于 2012-04-10T03:35:47.853 に答える
1

Cocoaは、すべての標準ディレクトリを検索する手段を提供していません。古いFSFindFolder()関数はさらに多くの機能を提供できますが、FSRefからパスまたはURLに変換する必要があります。Appleはその使用を推奨していませんが、ハードコーディングせずに特定の標準ディレクトリを取得する唯一の方法です。とはいえ、アプリ名が組み込まれることはありません。あなたはそれを追加する必要があります。

追加するために編集:レガシードキュメントへのリンク

于 2012-04-10T03:55:27.917 に答える