Realm is a mobile database that runs directly inside phones, tablets or wearables. This repository holds the source code for the iOS & OSX versions of Realm, for both Swift & Objective-C.
- Mobile-first: Realm is the first database built from the ground up to run directly inside phones, tablets and wearables.
- Simple: Data is directly exposed as objects and queryable by code, removing the need for ORM's riddled with performance & maintenance issues. Plus, we've worked hard to keep our API down to just 4 common classes (Object, Array, Results and Realms) and 1 utility class (Migrations): most of our users pick it up intuitively, getting simple apps up & running in minutes.
- Modern: Realm supports relationships, generics, vectorization and even Swift.
- Fast: Realm is faster than even raw SQLite on common operations, while maintaining an extremely rich feature set.
Please see the detailed instructions in our docs to add Realm Objective-C or Realm Swift to your Xcode project.
The documentation can be found at realm.io/docs/objc/latest.
The API reference is located at realm.io/docs/objc/latest/api.
The documentation can be found at realm.io/docs/swift/latest.
The API reference is located at realm.io/docs/swift/latest/api.
- Need help with your code?: Look for previous questions on the #realm tag — or ask a new question. We activtely monitor & answer questions on SO!
- Have a bug to report? Open an issue. If possible, include the version of Realm, a full log, the Realm file, and a project that shows the issue.
- Have a feature request? Open an issue. Tell us what the feature should do, and why you want the feature.
- Want to ask in-depth questions? Join our online office hours. We host these once a month, and you can join via chat, audio call, or video call.
- Sign up for our Community Newsletter to get regular tips, learn about other use-cases and get alerted of blogposts and tutorials about Realm.
In case you don't want to use the precompiled version, you can build Realm yourself from source.
Prerequisites:
- Building Realm requires Xcode 6.3, 6.4, or 7.0 beta 4.
- Building Realm documentation requires appledoc
Once you have all the necessary prerequisites, building Realm.framework just takes a single command: sh build.sh build
. You'll need an internet connection the first time you build Realm to download the core binary.
Run sh build.sh help
to see all the actions you can perform (build ios/osx, generate docs, test, etc.).
Executing the examples under the examples/
folder, requires that you have built the Realm.framework
.
See CONTRIBUTING.md for more details!
Realm Objective-C & Realm Swift are published under the Apache 2.0 license.
The underlying core is available under the Realm Core Binary License while we work to open-source it under the Apache 2.0 license.
If you use Realm and are happy with it, all we ask is that you please consider sending out a tweet mentioning @realm, announce your app on our mailing-list, or email help@realm.io to let us know about it!
And if you don't like it, please let us know what you would like improved, so we can fix it!