2016-04-17 9 views
6

aracılığıyla Realm veritabanını (default.Realm) önceden paketlemenin bir yolu var Realm ile oynadım, React-Native ile çalışmasını sağladım - JSON dosyasından eklenen verileri aldım ve filtreleyebilir/okuyabilir.Ream-Native (JS)

Şimdi asıl soru, verileri tepki-yerel uygulamamla nasıl önceden paketleyebilirim. Bazı soruları gördüm, bunun nasıl yapılacağı hakkında Native (IOS) ve (Android)

Burada React-Native ile yapmanın doğrudan bir yolu olup olmadığını kontrol etmek istedim. ?

Teşekkürler!

cevap

1

İdeal olarak, Realm'yi açarken paketlenmiş bölge dosya yolunu kullanabilirsiniz. Ne yazık ki bu salt okunur alemler için destek eklenene kadar çalışmaz. Bunu izlemek için bir sorun yarattım: https://github.com/realm/realm-js/issues/392

Salt okunur alemler destekleninceye kadar, AppDelegate'inizde uygulama başlangıcında birlikte verilen bölge dosyasını Belgeler dizininize kopyalayabilir ve sonra da paketlenen bölgeye erişmek için bu yolu kullanabilirsiniz. Göreli yollar desteklenir, böylece dosyanızı <Documents>/bundled.realm'a kopyalarsanız, bu dosyayı yalnızca dosya adından geçirerek açabilirsiniz, yani new Realm({path: 'bundled.realm'})

+0

Hi @Ari - Önceden yüklenmiş bir bölge dosyasını paketlediğim yukarıdaki yaklaşımı denedim. İyi çalışıyor. Ayrıca, default.realm dosyasını Belgeler'e eklemek için Object C kodunu yazdım. Şimdi, sorun, herhangi bir güncelleme yapmaya çalıştığımda. React-Native'den bir istisna alıyorum. Unutmayın, 'import ' i içe aktarmak için xcode'umdaki React.Framework'ı IOS'a eklemeliydim - Bu, onu kaldırdığımda her şey işe yarayacak. Herhangi bir yönünüz varsa veya daha fazla ayrıntıya ihtiyacınız varsa lütfen bize bildirin. – Abhay

+0

@Abhay Hangi istisnai görüyorsunuz? React Native'de kullandığınız şema, Objective C şemanızdan farklıysa, Realm başlatma sırasında bir istisna alırsınız. JS'de Realm'yi açarken bir şema parametresi iletmezseniz, bu durumun tamamen test edilmemiş olmasına rağmen, bu problemi önleyebilecek Objective C'den kullanılan şemayı kullanmalıdır. – Ari

+0

Yanıt için teşekkürler. SchemaVersion için üretilen aynı default.realm dosyasını kullanıyorum: 1 ... Dosyada herhangi bir değişiklik yok. Dosya kopyalanıyor ... ve ayrıca veriyi okuyabiliyorum .. Veritabanına yazamadığı bir sorunla karşılaşıyorum. İşte benim AppDelegate.m - https://gist.github.com/abhaytalreja/69e16e8a2384123a4257483fa55fb14c – Abhay