Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

copying Realm file in Caches Directory

My app got rejected by Apple because of this : "On launch and content download, your app stores 13.01 MB on the user's iCloud, which does not comply with the iOS Data Storage Guidelines."

I know what's the problem.how can i save my Realm database in Caches Directory instead of Documents directory?

like image 891
Mobin Jahantark Avatar asked Jul 16 '16 14:07

Mobin Jahantark


1 Answers

You can use Realm.Configuration.fileURL to change a Realm file path. Like the following:

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)

If you would not like to specify fileURL every instantiating Realm, you can use Realm.Configuration.defaultConfiguration. If you set a configuration object to defaultConfiguration, Realm() uses the configuration as default.

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

See also... https://realm.io/docs/swift/latest/#realm-configuration

like image 92
kishikawa katsumi Avatar answered Oct 07 '22 10:10

kishikawa katsumi