2016-07-11 4 views
0

관리자와 사용자 앱이 있습니다. 기본적으로 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

로 보낼 수있는 것 렐름 파일의 사본은 writeCopyToURL(fileURL: _, encryptionKey: _)입니다. 그 이유를 이해하려면 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)!