我的数据库位于我的MacOS应用程序的哪个位置?

时间:2016-10-22 21:57:19

标签: macos cocoa core-data macos-sierra

使用Core Data时,MacOS应用程序的数据库位置是什么?

我在Mac上搜索到了所有地方并且找不到它 我隐藏了文件,我确定数据库中有数据。 我也不会使用应用程序Sandbox。

3 个答案:

答案 0 :(得分:1)

persistentStoreCoordinator中查找AppDelegate.m方法。有一行

NSURL *applicationDocumentsDirectory = [self applicationDocumentsDirectory];

添加

NSLog(@"myDirectory: %@", applicationDocumentsDirectory);

这假设您使用Xcode 8 Cocoa模板启动项目,使用"使用Core Data"选项。

或添加

NSLog(@"Array of CD stores: %@", self.persistentStoreCoordinator.persistentStores);
例如,

applicationDidFinishLaunching。生成的路径应位于用户的库Users/<user>/Library/Application Support/<whatever>/<appname>.storedata中。

答案 1 :(得分:1)

如果您为应用启用了沙盒,则会将其置于~/Library/Containers/app.bundle.id/Data/Library/Application Support/AppTargetName下,其中app.bundle.id是应用目标中指定的Bundle Identifier,AppTargetName是该目标的名称,即生成的.app文件的名称。在该文件夹中,您应该找到包含数据库数据的SQLite文件。

答案 2 :(得分:0)

询问您的NSPersistentStoreCoordinator。