ios - 使用多点连接发送数据库/Realm

标签 ios swift realm multipeer-connectivity

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

这是我的数据库的路径:

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)

最佳答案

我建议通过 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)!

关于ios - 使用多点连接发送数据库/Realm ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38302787/

相关文章:

arrays - 在哪里放置对结构数组进行操作的代码?

reactjs - Realm 与 Electron

android - 更新 Realm 中的特定值

android - RxJava Observable 从不执行 onCompleted

ios - 我应该使用核心数据吗?

IOS - 暂停和取消暂停当前正在播放的音乐

ios - 播放大量音频文件后,AVAudioPlayer停止播放:kAudio_TooManyFilesOpenError

javascript - 我如何使用 Swift 将收据数据发送到 Node.js 服务器

ios - 如何强制显示 iOS 推送通知对话框(用于测试)?

xcode - Swift- 设置可见菜单 Controller