Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MacOS应用程序的数据库位于哪里?_Macos_Cocoa_Core Data_Macos Sierra - Fatal编程技术网

MacOS应用程序的数据库位于哪里?

MacOS应用程序的数据库位于哪里?,macos,cocoa,core-data,macos-sierra,Macos,Cocoa,Core Data,Macos Sierra,使用核心数据时,MacOS应用程序的数据库位置是什么 我在我的Mac电脑上到处搜索都没有找到它。 我已经关闭了隐藏的文件,我确信我的数据库中有数据。 另外,我不使用应用程序沙盒。询问您的NSPersistentStoreCoordinator。在您的AppDelegate.m中查找persistentStoreCoordinator方法。有一条线 NSURL *applicationDocumentsDirectory = [self applicationDocumentsDirectory]

使用核心数据时,MacOS应用程序的数据库位置是什么

我在我的Mac电脑上到处搜索都没有找到它。
我已经关闭了隐藏的文件,我确信我的数据库中有数据。
另外,我不使用应用程序沙盒。

询问您的NSPersistentStoreCoordinator。

在您的
AppDelegate.m
中查找
persistentStoreCoordinator
方法。有一条线

NSURL *applicationDocumentsDirectory = [self applicationDocumentsDirectory];
加上

NSLog(@"myDirectory: %@", applicationDocumentsDirectory);
这假设您使用带有“使用核心数据”选项的Xcode 8 Cocoa模板启动项目

或添加

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

例如,要
ApplicationIDFinishLaunching
。如果应用程序已启用沙箱,则生成的路径应位于用户的库中。
Users//library/Application Support//.storedata

,它将放在
~/Library/Containers/app.bundle.id/Data/Library/Application Support/AppTargetName
下,其中app.bundle.id是在应用程序的目标中指定的捆绑标识符,AppTargetName是该目标的名称,即生成的.app文件的名称。在该文件夹中,您应该可以找到包含数据库数据的SQLite文件。

谢谢。数据库位于文件夹com.apple.toolsQA.CocoaApp_CD中。现在我需要一个密码来打开应用程序“SQLite数据库浏览器”,请在哪里找到它?请更具体。为什么需要“SQLite数据库浏览器”?为什么它需要密码?我想用raw管理我的数据库,我的意思是不用Xcode。就像您可以在MyAdminPHP中管理MySQL数据库一样。因此,我有一个应用程序可以打开我的.SQLite数据库,但它需要密码。它通常不需要密码来打开数据库文件。我不知道发生了什么事。