我有一个带手表扩展的IOS应用程序。我使用带有核心数据的只读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中的共享应用程序组容器中?