NSDocumentDirectory对于给定的应用程序是唯一的吗?

Mar*_*ote 3 iphone cocoa

我想在我的iPhone应用程序中保存一些用户特定的数据.我正在查看SQLite示例,它使用类似于此的东西:

NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES );
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:dbName];
Run Code Online (Sandbox Code Playgroud)

我想知道的是,"writableDBPath"对我的应用程序来说是独一无二的吗?是否存在我的"dbName"与另一个应用程序使用的同名文件冲突的风险?

Jas*_*oco 6

在iPhone上,它们是独一无二的,因为已经完成了应用程序沙盒.但是,在常规mac上,NSDocumentDirectory只对用户是唯一的,如果您不使文件以某种方式唯一或创建特定于应用程序的子目录,则可能会出现名称冲突,所以如果不注意你曾经从iPhone到Mac.