使用Multipeer Connectivity发送数据库/ Realm

时间:2016-07-11 08:53:40

标签: ios swift realm multipeer-connectivity

我有一个管理员和一个用户应用。基本上,我将使用Admin应用程序构建数据库(领域),然后将整个数据库发送到用户应用程序。

以下是我的数据库的路径:

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

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

//我应该如何处理路径,以便通过MultiPeerConnectivity : MCSession

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

1 个答案:

答案 0 :(得分:1)

我建议您通过writeCopyToURL(fileURL: _, encryptionKey: _)编写Realm文件的压缩副本。阅读more about Realm's file size growth behavior以了解为什么这是一个好主意。

然后,您可以通过NSData(contentsOfURL: _)简单地阅读文件内容。

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