If you choose to opt out of complete i OS file encryption in this way, we encourage you to use Realm’s own built-in encryption to ensure your data is still properly secured.
Since the auxiliary files can sometimes be lazily created and deleted mid-operation, we recommend that you apply the file protection attributes to the parent folder containing these Realm files.
Instead, they grow by specific size increments, with new data being written within unused space tracked inside the file.
However, there may be situations in which a significant portion of a Realm file is comprised of unused space.
See our documentation on threading for some of the reasons why this architecture enables some of Realm’s great performance, concurrency and safety advantages.
In order to avoid making expensive system calls, Realm files are rarely shrunk at runtime.
While your application continues working with a synchronized Realm, the data in that Realm might be updated by any device with write access to that Realm.
In order to handle this, it is necessary to ensure that the file protection attributes applied to both the Realm file itself and its auxiliary files is downgraded to a less strict one that allows file access even when the device is locked, such as .
You can find example applications for both i OS and OS X in our release zip under to import Realm Swift and make it available for use with your code. Because writing to the “Documents” directory is prohibited on tv OS, the default Realm location is set to .
However, please be mindful that tv OS can purge files in the “Caches” directory at any point, so we encourage you to rely on Realm as a rebuildable cache rather than storing important user data.
For example, if you have two teams working on different components of your application which both use Realm internally, you may not want to have to coordinate migrations between them.
You can do this by setting the Realm works in such a way that the size of a Realm file is always larger than the total size of the objects stored within it.
This is another use case for the In-memory Realms do not save data across app launches, but all other features of Realm will work as expected, including querying, relationships and thread-safety.