2015-10-26 58 views
0

我試圖將我的應用程序與我在一個單獨的目標中創建的預生成的Realm文件捆綁在一起(使用相同的模型)。無法從綁定的Realm中獲取查詢結果

按照bundling a realm with an app中的說明,我用 - [RLMRealm writeCopyToPath:error:]創建了數據庫的壓縮版本,並將其複製到我的應用程序包中。

區域文件名是data.Realm。數據僅用於只讀訪問,所以我沒有將其複製到文檔目錄中,而是將其保留在包中。

問題是我的非默認Realm沒有返回任何查詢結果,儘管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 

回答

0

我被默認的境界與設置爲我的配置解決了這個問題:

RLMRealmConfiguration setDefaultConfiguration:rlmConfig]; 

然後,我只是加載這個「默認」Realm,它使用我的捆綁文件。

[RLMRealm defaultRealm]