iOSでAppGroupを利用したいのですが、初期設定で共用エリアにデータベースファイルを移動しておく方法を知りたい
共用エリアに作っておいたデータベースファイルを、インストール時に移動するか、できなければ、なんらかの方法でコピーする方法がわかりません。
どうしたらいいのか、教えていただければ幸いです。
よろしくお願いいたします。
下記はテストで使っていますが、うまく動きません。
var realmPath: String {
let containerURL = NSFileManager().containerURLForSecurityApplicationGroupIdentifier("group.AppGroupKeybora")
let docsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.LibraryDirectory , NSSearchPathDomainMask.UserDomainMask, true)[0]
let databaseStr = "Dictionary.realm"
let dbPath = docsPath.stringByAppendingString("/" + databaseStr)
var TodbPath = containerURL!.URLByAppendingPathComponent(databaseStr).path!
// BEGING MODIFICATION
let fileMan = NSFileManager.defaultManager()
if !(fileMan.fileExistsAtPath(dbPath)) { // The database does not already exist in Documents directory
if let source = NSBundle.mainBundle().resourcePath?.stringByAppendingString(databaseStr) {
if !(fileMan.fileExistsAtPath(source)) {
print("RealmDB - file \(databaseStr) not found in bundle")
} else {
do {
try fileMan.copyItemAtPath(source, toPath: TodbPath)
} catch let error as NSError {
print("RealmDB - failed to copy writable version of DB!")
print("Error - \(error.localizedDescription)")
}
}
}
}
// END MODIFICATION
return TodbPath
}