2016-07-11 17 views
0

Ich habe eine Admin und eine Benutzer-App. Grundsätzlich werde ich die Datenbank (Realm) mit Admin-App erstellen und dann die gesamte Datenbank an die Benutzer-App senden. HierSenden einer Datenbank/Realm mit Multipeer Connectivity

ist der Weg zu meiner Datenbank:

let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.example.file")! 

let fileURL = directory.URLByAppendingPathComponent("test.realm") 

// Was soll ich auf den Weg machen, damit ich sie senden über MultiPeerConnectivity : MCSession

try session.sendData("my Realm File To Send", toPeers: session.connectedPeers, withMode: .Reliable) 

Antwort

1

Ich würde empfehlen, ein verdichtetes zu schreiben Kopie Ihrer Realm-Datei über writeCopyToURL(fileURL: _, encryptionKey: _). Lesen Sie more about Realm's file size growth behavior um zu verstehen, warum das eine gute Idee ist.

Sie können dann einfach den Dateiinhalt über NSData(contentsOfURL: _) lesen.

let parentURL = fileURL.URLByDeletingLastPathComponent! 
let compactedFileURL = parentURL.URLByAppendingPathComponent("compact.realm") 
try! realm.writeCopyToURL(compactedFileURL) 
let data = NSData(contentsOfURL: compactedFileURL)!