我的 MacOS 应用程序的数据库在哪里?
Where is my database located of my MacOS app?
使用 Core Data 时,MacOS 应用程序的数据库位置是什么?
我在 Mac 上到处找,没找到。
我关闭了隐藏文件,我确信我的数据库中有数据。
我也不使用应用沙盒。
询问您的 NSPersistentStoreCoordinator。
在您的 AppDelegate.m
中寻找 persistentStoreCoordinator
方法。有一行
NSURL *applicationDocumentsDirectory = [self applicationDocumentsDirectory];
只需添加
NSLog(@"myDirectory: %@", applicationDocumentsDirectory);
这假设您使用 Xcode 8 Cocoa 模板和 "use Core Data" 选项开始您的项目。
或添加
NSLog(@"Array of CD stores: %@", self.persistentStoreCoordinator.persistentStores);
例如 到 applicationDidFinishLaunching
。生成的路径应该在您的用户库中 Users/<user>/Library/Application Support/<whatever>/<appname>.storedata
.
如果您的应用程序启用了沙盒,它将被放置在 ~/Library/Containers/app.bundle.id/Data/Library/Application Support/AppTargetName
下,其中 app.bundle.id 是在您的应用程序目标中指定的 Bundle Identifier,AppTargetName 是该目标的名称,即生成的 .app 文件的名称。在该文件夹中,您应该找到包含数据库数据的 SQLite 文件。
使用 Core Data 时,MacOS 应用程序的数据库位置是什么?
我在 Mac 上到处找,没找到。
我关闭了隐藏文件,我确信我的数据库中有数据。
我也不使用应用沙盒。
询问您的 NSPersistentStoreCoordinator。
在您的 AppDelegate.m
中寻找 persistentStoreCoordinator
方法。有一行
NSURL *applicationDocumentsDirectory = [self applicationDocumentsDirectory];
只需添加
NSLog(@"myDirectory: %@", applicationDocumentsDirectory);
这假设您使用 Xcode 8 Cocoa 模板和 "use Core Data" 选项开始您的项目。
或添加
NSLog(@"Array of CD stores: %@", self.persistentStoreCoordinator.persistentStores);
例如 到 applicationDidFinishLaunching
。生成的路径应该在您的用户库中 Users/<user>/Library/Application Support/<whatever>/<appname>.storedata
.
如果您的应用程序启用了沙盒,它将被放置在 ~/Library/Containers/app.bundle.id/Data/Library/Application Support/AppTargetName
下,其中 app.bundle.id 是在您的应用程序目标中指定的 Bundle Identifier,AppTargetName 是该目标的名称,即生成的 .app 文件的名称。在该文件夹中,您应该找到包含数据库数据的 SQLite 文件。