0

OK、私の質問は単純明快ですが、明快な答えが 1 つも見つからないことは間違いありません。それでは、お役に立てれば幸いです。

私が欲しいもの:

アプリがデータを自由に書き込むことができる場所 (10.6 - サンドボックスなし - または 10.7 以降、サンドボックスあり)。

一言で言えば:

  • NSHomeDirectory()書き込み先として安全な場所を指すシステム関数 (例: ) があるかどうかを知りたいです(OS X のバージョンは関係ありません)。
4

1 に答える 1

0

OK、ここで私は自分の質問に答えています。

では、 10.6 (サンドボックスが有効になっていない) か 10.7+ かに関係なく、 Application Supportディレクトリへのアクセスのみが必要な場合(存在しない場合は作成する必要がある場合) はどうでしょうか?

これが普遍的な解決策です(私自身がそのNSFileManagerためのカテゴリを書きましたが、単純な関数やマクロでも可能です...)

インターフェース :

// NSFileManager+Paths.h

#import <Foundation/Foundation.h>

@interface NSFileManager (Paths)

+ (NSString*)applicationSupportDirectory;

@end

実装 :

// NSFileManager+Paths.m

#import "NSFileManager+Paths.h"

@implementation NSFileManager (Paths)

+ (NSString*)applicationSupportDirectory
{
    NSError *error;
    return [[[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:&error] path];
}

@end

シンプルですね。


ヒント:より洗練された解決策を得るために、この回答を修正するには、以下の 2 つのコメントをご覧ください。

于 2013-02-12T02:26:02.873 に答える