Realm = RLMRealm'没有成员'setDefaultRealmPath'

Realm = RLMRealm' has no member 'setDefaultRealmPath'

我已将 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)

我似乎无法在任何地方看到解决方案的任何想法,因为它太新了。

提前致谢。

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)

如果您需要更多说明,请告诉我!

更改默认Realm路径的新方法:

let directory: URL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.YOUR_BUNDLE_ID")!
    let realmPath = directory.path.appending("db.realm")
    let configuration = RLMRealmConfiguration.default()
    configuration.pathOnDisk = realmPath
    RLMRealmConfiguration.setDefault(configuration)

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