Tuesday May 14, 2013

How to Build Scar Tissue (Or, a fascinating approach to solving iCloud/Core Data)

Maarten Billemont is attempting to build out a well documented system to work around iCloud’s Core Data syncing issues1. It’s an impressive SDK with a clear API for what could go wrong and what you’d need to handle.

His library will watch for iCloud store corruption and tear down and rebuild the store automatically, notifying all other devices to use the new store in the process. It’s a great example of wrapping “scar tissue” around an unreliable external dependency. He’s encoded all the things that could go wrong as well named messages that are sent to you as the delegate, and spells out the default recovery behavior or how you can inject your own.

  1. Maarten’s project itself is a fork of Aleksey Novicov’s iCloudStoreManager.