我已将Realm.framework和RealSwift.framework添加到项目中。和“import Realm”虽然我收到了这个错误:
RLMRealm'没有成员'setDefaultRealmPath'
let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.it.fancypixel.Done")!
let realmPath = (directory.path! as NSString).stringByAppendingPathComponent("db.realm")
RLMRealm.setDefaultRealmPath(realmPath)
我似乎无法在任何地方找到解决方案,因为它是如此新颖。
提前致谢。
答案 0 :(得分:9)
Realm(Swift和Objective-C库)刚刚更新到0.97版本。虽然setDefaultRealmPath
过去是一个有效的API,但后来被弃用,从0.97开始,已完全删除。因此,如果它在过去工作,一旦你更新到0.97,它现在将导致构建错误。
现在可以通过Realm RLMRealmConfiguration
对象控制设置Realm的文件位置。要设置默认路径,现在可以这样做:
let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.it.fancypixel.Done")!
let realmPath = (directory.path! as NSString).stringByAppendingPathComponent("db.realm")
var config = RLMRealmConfiguration.defaultConfiguration()
config.path = realmPath
RLMRealmConfiguration.setDefaultConfiguration(config)
如果您需要进一步澄清,请与我们联系!
答案 1 :(得分:0)
在 Swift 4 中,您可以使用此
let identifier = "group.companyName.projectName"
var directory: URL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: identifier)!
directory.appendPathComponent("db.realm", isDirectory: true)
let config = Realm.Configuration(
fileURL: directory,
schemaVersion: 1,
migrationBlock: { migration, oldSchemaVersion in })
Realm.Configuration.defaultConfiguration = config