Skip to content

Upgrading from 0.9.3 to 0.9.4 dev

blakewatters edited this page Dec 16, 2011 · 1 revision

In early December of 2011, the RestKit project's build process was overhauled to simplify the project and provide better support for Mac OS X. As part of this effort, a number of changes were made:

  • Flattened RestKit into two targets. A single iOS static library and an OS X framework target. Some previously optional components such as XML parsing and Core Data are now requirements. Lesser used components have been moved out of the main project.
  • Added libxml2.dylib, Security.framework, and CoreData.framework to the requirements
  • Moved SBJSON, YAJL, and Nextive parsers out of the main codebase. RestKit.a and RestKit.framework build with the JSONKit parser and the libXML based parser. Other parsers can still be plugged in, but will be separate projects.
  • Moved RestKit + Three20 to a separate project. I no longer use Three20 at all and will not be supporting the integration going forward.
  • Ditched the UISpecRunner unit test harness in favor of Xcode's integrated SenTest support.
  • RestKit header files all now live under RestKit/. Any "deep" imports such as RestKit/CoreData/CoreData.h are now RestKit/CoreData.h

Upgrading Legacy Installations

To upgrade to the latest version of RestKit in a project utilizing the Git submodule installation process:

  • cd path/to/RestKit
  • git fetch origin
  • git checkout master
  • Edit your project settings. Remove all static library targets for RestKit (i.e. anything beginning with libRestKit). Add libRestKit.a to the linked libraries (or RestKit.framework on OS X)
  • Add CoreData.framework, Security.framework and libxml2.dylib to your "Link Binary with Libraries" Build Phase
  • Replace any deep imports of RestKit headers (i.e. RestKit/CoreData/CoreData.h -> RestKit/CoreData.h)
  • Hit Apple+Option+Shift+K to clean the Build Folder for your project
  • Build the project