2016-04-12 21 views
1

Ana uygulama ve uygulama içeren uygulama grubuna erişebilmeleri için Realm veritabanını React Native API'sini kullanarak JavaScript'te gerçeklemenin bir yolu var mı? Uzantı?React Native uygulamasıyla Share Extension arasında Realm Database nasıl paylaşılır

Arka uç hizmetimizle uygulamaya veri aktarmak için bir Paylaşım Uzantısı gerektiren bir Reaktif Yerleşik uygulaması oluşturuyoruz. Kullanıcı kimlik doğrulama bilgilerimiz bir Realm veritabanında saklanır ve bu bilginin ayrıca, kullanıcı adına hizmetle bağlantı kurmak için paylaşım uzantısı tarafından erişilmesi gerekir. Kök bileşeninde sonra

NSURL *realmPathUrl = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.com.company.product"]; 
NSString *realmPath = [[realmPathUrl path] stringByAppendingPathComponent:@"db.realm"]; 
NSDictionary *props = @{@"realmPath" : realmPath}; 
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"product" initialProperties:props launchOptions:launchOptions]; 

Ve: aşağıda gösterildiği gibi

Şu anda, bunu gerçekleştirmek için bulduk tek yolu, daha sonra, AppDelegate yılında Diyar yolunu hesaplamak, bizim kök bileşene bunu geçmektir : saklar kök bileşeninin önce örneği, ancak Diyar veritabanına erişim gerektiren olarak

const userPrefsRealmDatabase = new Realm({path: props.realmPath, ...otherOptions}); 

ama bu, bir çok dağınık bir çözümdür ve bizim Akı uygulama ile bazı sorunlar getirmektedir. O zaman JS yükler hemen kullanılabilir olacağından

+0

Benzer bir durumum var, lütfen bunu nasıl yaptığınıza dair bazı ayrıntıları paylaşabilirsiniz? Bunu gerçekten takdir ediyorum. Şimdiden teşekkürler. –

cevap

0

bir göz olabilir. Bunun nasıl yapılacağı hakkında Exporting Constants bölümüne bakın.

+0

Teşekkürler, işimiz bitti ve muhtemelen en iyi çözüm olan –

+0

Aynı şeyi yapmak da Android'deki sorunu çözecek mi? –

0

Sen tepki yerli eklenti Ben sürekli olarak yolu ihraç kendi yerel modülü oluşturma öneriyoruz https://github.com/realm/realm-js

+0

Teşekkürler, zaten React Native eklentisini kullanıyoruz, ancak Realm'i bir uygulama grubunun paylaşımlı veri klasörüne yerleştirmek için yerel bir yolu yoktur. Başlatmada Realm dosyası için bir 'yol' belirtmenize izin verir, ancak anlayabildiğim kadarıyla, 'yol' bir çok karmaşıklığı tanıtan AppDelegate'de hesaplanmalıdır. –