我的应用程序被苹果拒绝的原因是:“在启动和内容下载时,您的应用程序在用户的iCloud上存储了13.01 MB,这不符合iOS数据存储指南。”我知道什么是problem.how我可以保存我的领域数据库在缓存目录,而不是文档目录?
uplii1fm1#
您可以使用Realm.Configuration.fileURL来更改Realm文件路径。如下所示:
Realm.Configuration.fileURL
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()将使用该配置作为默认值。
fileURL
Realm.Configuration.defaultConfiguration
defaultConfiguration
Realm()
Realm.Configuration.defaultConfiguration = config let realm = Realm()
另请参阅... https://realm.io/docs/swift/latest/#realm-configuration
wvmv3b1j2#
我更新了kishikawa对Swift 5和Realm 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()
2条答案
按热度按时间uplii1fm1#
您可以使用
Realm.Configuration.fileURL
来更改Realm文件路径。如下所示:如果不想在每个示例化领域中指定
fileURL
,可以使用Realm.Configuration.defaultConfiguration
。如果将配置对象设置为defaultConfiguration
,则Realm()
将使用该配置作为默认值。另请参阅... https://realm.io/docs/swift/latest/#realm-configuration
wvmv3b1j2#
我更新了kishikawa对Swift 5和Realm 10的回答。我在AppDelegate的“didFinishLaunchingWithOptions”中调用了这个函数:
请记住,显然只有在没有新配置的情况下进行示例化时才会使用“DefaultConfiguration”:
Realm()