Giter Club home page Giter Club logo

mricloud's Introduction

MRICloud

Demonstration of using MagicalRecord with iCloud

MagicalRecord is a wonderful library simplifying the use of Core Data. I was however struggling with setting it up properly with iCloud. Perhaps this demo helps someone avoid that :)

Please note

  • the project was created using XCode 6.1
  • the project is using iCloud Drive (available in iOS 8 and OSX Yosemite)

Setup

Clone the repository including submodules and open MRICloud.xcodeproj.

git clone https://github.com/frenya/MRICloud.git MRICloud
cd MRICloud
git submodule update --init --recursive

Don't forget to update your Bundle ID and code signing identity!

The easiest way to do that seems to be going to Project's Capabilites setting. Turn iCloud off and on again. Make sure both the iCloud Documents and the iCloud.$(CFBundleIdentifier) options are checked. You will be prompted to select your signing identity during the process.

Acknowledgements

I drew a lot of inspiration from the following

Developer notes (observations)

  • from time to time, the iCloud daemon seems to have an issue. If you’re experiencing strange errors (e.g. failed to receive initial sync notification call back in 90 seconds), try restarting the device before going into desperate mode
  • the iCloud sync occurs approx. every 10 second - i.e. it can take up to around 20 second for any change to propagate
  • the Simulator pushes changes to iCloud but does not periodically pull them unless you manually trigger the iCloud sync (Shift+Cmd+I)
  • during the first init, when the persistant store changes, your NSFetchedResultsControllers won't pick it up and your UI will not be updated automatically. You have to observe the store change notification, drop the FRC and reload (see MasterViewController).

mricloud's People

Contributors

frenya avatar

Stargazers

gobeyond avatar Steven Shen avatar Morgan Jones avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.