5

我已将 Realm.framework 和 RealSwift.framework 添加到项目中。和“导入领域”虽然我收到了这个错误:

RLMRealm' 没有成员 'setDefaultRealmPath'

 let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.it.fancypixel.Done")!
        let realmPath = (directory.path! as NSString).stringByAppendingPathComponent("db.realm")
        RLMRealm.setDefaultRealmPath(realmPath)

任何想法我似乎都无法在任何地方看到解决方案,因为它是如此新。

提前致谢。

4

3 回答 3

9

Realm(Swift 和 Objective-C 库)刚刚更新到 0.97 版。虽然setDefaultRealmPath过去是一个有效的 API,但随后被弃用,并从 0.97 开始完全删除。因此,如果它在过去工作,一旦你更新到 0.97,它现在​​将导致构建错误。

设置领域的文件位置现在通过领域RLMRealmConfiguration对象控制。要设置默认路径,您现在可以这样做:

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)

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

于 2015-12-23T08:53:33.970 回答
2

更改默认 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)
于 2017-05-12T13:14:55.063 回答
1

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
于 2019-04-29T07:33:55.003 回答