我有一个管理员和一个用户应用。基本上,我将使用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)
答案 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)!