无法从捆绑领域获取查询结果
Can't get query results from a bundled Realm
我正在尝试将我的应用程序与我在单独的目标中创建的(使用相同模型)预生成的 Realm 文件捆绑在一起。
按照 bundling a realm with an app 中的说明,我使用 -[RLMRealm writeCopyToPath:error:] 创建了一个压缩版本的数据库,并复制到我的应用程序包中。
Realm 文件名为 data.Realm。数据是只读访问的,所以我没有将它复制到文档目录中,而是将它留在了包中。
问题是我的非默认领域没有返回任何查询结果,尽管领域文件包含条目。初始化Realm时没有报错,所以我认为不是文件访问问题
这是运行领域测试查询的代码:
RLMRealmConfiguration *rlmConfig = [RLMRealmConfiguration defaultConfiguration];
NSString *DBpath =[[NSBundle mainBundle] pathForResource:@"data" ofType:@"realm"];
rlmConfig.path = DBpath;
rlmConfig.readOnly = YES;
NSError *err;
realm = [RLMRealm realmWithConfiguration:rlmConfig error:&err];
if (err)
NSLog(@"Error: %@",err);
Person *result = [[Person allObjects] firstObject];
NSLog(@"first Person: %@",result.name); //Empty - No results
我通过将默认领域设置为我的配置解决了这个问题:
RLMRealmConfiguration setDefaultConfiguration:rlmConfig];
然后我简单地加载了这个 "default" 领域,它正在使用我的捆绑文件。
[RLMRealm defaultRealm]
我正在尝试将我的应用程序与我在单独的目标中创建的(使用相同模型)预生成的 Realm 文件捆绑在一起。
按照 bundling a realm with an app 中的说明,我使用 -[RLMRealm writeCopyToPath:error:] 创建了一个压缩版本的数据库,并复制到我的应用程序包中。
Realm 文件名为 data.Realm。数据是只读访问的,所以我没有将它复制到文档目录中,而是将它留在了包中。
问题是我的非默认领域没有返回任何查询结果,尽管领域文件包含条目。初始化Realm时没有报错,所以我认为不是文件访问问题
这是运行领域测试查询的代码:
RLMRealmConfiguration *rlmConfig = [RLMRealmConfiguration defaultConfiguration];
NSString *DBpath =[[NSBundle mainBundle] pathForResource:@"data" ofType:@"realm"];
rlmConfig.path = DBpath;
rlmConfig.readOnly = YES;
NSError *err;
realm = [RLMRealm realmWithConfiguration:rlmConfig error:&err];
if (err)
NSLog(@"Error: %@",err);
Person *result = [[Person allObjects] firstObject];
NSLog(@"first Person: %@",result.name); //Empty - No results
我通过将默认领域设置为我的配置解决了这个问题:
RLMRealmConfiguration setDefaultConfiguration:rlmConfig];
然后我简单地加载了这个 "default" 领域,它正在使用我的捆绑文件。
[RLMRealm defaultRealm]