xcode 正在复制高速缓存目录中的领域文件

zi8p0yeb  于 2022-11-26  发布在  其他
关注(0)|答案(2)|浏览(125)

我的应用程序被苹果拒绝的原因是:“在启动和内容下载时,您的应用程序在用户的iCloud上存储了13.01 MB,这不符合iOS数据存储指南。”
我知道什么是problem.how我可以保存我的领域数据库在缓存目录,而不是文档目录?

uplii1fm

uplii1fm1#

您可以使用Realm.Configuration.fileURL来更改Realm文件路径。如下所示:

let cachesDirectoryPath = NSSearchPathForDirectoriesInDomains(.CachesDirectory, .UserDomainMask, true)[0]
let cachesDirectoryURL = NSURL(fileURLWithPath: cachesDirectoryPath)
let fileURL = cachesDirectoryURL.URLByAppendingPathComponent("Default.realm")

let config = Realm.Configuration(fileURL: fileURL)
let realm = try! Realm(configuration: config)

如果不想在每个示例化领域中指定fileURL,可以使用Realm.Configuration.defaultConfiguration。如果将配置对象设置为defaultConfiguration,则Realm()将使用该配置作为默认值。

Realm.Configuration.defaultConfiguration = config
let realm = Realm()

另请参阅... https://realm.io/docs/swift/latest/#realm-configuration

wvmv3b1j

wvmv3b1j2#

我更新了kishikawa对Swift 5Realm 10的回答。我在AppDelegate的“didFinishLaunchingWithOptions”中调用了这个函数:

private func setRealmDefaultConfig() {
    let cachesDirectoryPath = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true)[0]
    let cachesDirectoryURL = NSURL(fileURLWithPath: cachesDirectoryPath)
    let fileURL = cachesDirectoryURL.appendingPathComponent("Default.realm")
    let config = Realm.Configuration(fileURL: fileURL)
    Realm.Configuration.defaultConfiguration = config
}

请记住,显然只有在没有新配置的情况下进行示例化时才会使用“DefaultConfiguration”:Realm()

相关问题