【发布时间】:2023-03-15 15:24:01
【问题描述】:
我有一个带有手表扩展程序的 IOS 应用。我使用带有 Core Data 的只读 SQLite 文件(已填充且未编辑)。
使用此代码从捆绑资源访问文件可以正常工作。
- (NSURL *)storeURL{
NSString * databaseFileName = @"db.sqlite";
return [NSURL fileURLWithPath: [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent: databaseFileName]];
}
但是,这段代码会创建一个新的 sqlite 文件并将其附加到 NSPersistentStoreCoordinator:
- (NSURL *)applicationDocumentsDirectory {
return [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.com.xxx.xxx"];
}
- (NSURL *)storeURL{
NSString * databaseFileName = @"db.sqlite";
NSURL * url = [self applicationDocumentsDirectory];
NSString * path = [url.absoluteString stringByAppendingPathComponent:databaseFileName];
path = [path stringByReplacingOccurrencesOfString:@"file:" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, path.length)];
return [NSURL fileURLWithPath: path];
}
如何将 SQLite 文件添加到 Xcode 中的共享应用组容器中?
【问题讨论】: