Here is an [introductory screencast to coding with Couchbase on iOS|http://vimeo.com/29754387]

[Jens iOS session from CouchConf SF|http://vimeo.com/32300070]

[Repo manifest if you want to become a contributor.|https://github.com/couchbaselabs/iOS-Couchbase-manifest] See also [Contributing to Couchbase].

h3. Getting Started

{color:#5b5352}These instructions assume you have created a "Frameworks" folder in the root of your Xcode project, and have copied the downloaded Couchbase.framework there. Folks building multiple iOS apps&nbsp;may prefer to store the framework in a shared location. If you didn't put it in the Frameworks subfolder of your project, you'll want to edit the rsync line below in step 5.{color} {color:#5b5352}&nbsp;{color} {color:#5b5352}Wherever you put the downloaded Couchbase.framework, here's how to add it to a project:{color} {color:#5b5352}&nbsp;{color} # {color:#5b5352}Open your Xcode project.{color} # {color:#5b5352}Drag the Couchbase.framework into the “Frameworks” section of the file list in your project window. In the sheet that opens, make sure there's a checkbox next to your app's target.{color} # {color:#5b5352}You will need to link some libraries with your project: Go to the target's Build Phases, open "Link Binary With Libraries", click the "+" button, and add "libstdc++.dylib", "Security.framework" and "libz.dylib" from the iOS section.{color} # {color:#5b5352}Go to the target's Build Phases and add a new Run Script phase.{color} # {color:#5b5352}Paste the following into the script content of the new phase. (IMPORTANT: This assumes you put the framework in a "Frameworks" subfolder. If you put it elsewhere, update the path in the 2nd argument to ‘rsync’ accordingly.){color}

{color:#5b5352}{_}Important: The `rsync` command below is a single long line. Do not put a newline in the middle\!_{color} {color:#222222}&nbsp; &nbsp; # The 'CouchbaseResources' subfolder of the framework contains&nbsp;{color}

*NOTE: If you use Subversion for Revision Control, and check in the Couchbase framework, then you should exclude the `.svn` sub-directories by adding the flag \-\-exclude '.svn'*

{color:#5b5352}That’s it for the project setup. In your application code, you’ll need to start the CouchbaseMobile server at launch time. See&nbsp;{color}[CouchbaseMobile.h|https://github.com/couchbase/iOS-Couchbase/blob/master/Framework/Classes/CouchbaseMobile.h]{color:#5b5352}&nbsp;for the interface, and see{color}[EmptyAppDelegate.m|https://github.com/couchbase/iOS-Couchbase/blob/master/EmptyApp/Source/EmptyAppDelegate.m#L96]{color:#5b5352}&nbsp;for an example of how to call it, or stick with us, here is all you need to do:{color} {color:#5b5352}&nbsp;{color}

...

{color:#5b5352}In your MyAppDelegate.h file, add the declaration that you implement the Couchbase protocol, by importing the header file and adding "CouchbaseDelegate" inside the brackets:{color} {color:#6e371a}\#import <Couchbase/CouchbaseMobile.h>{color}

{color:#002200}\-{color}{color:#002200}({color}{color:#a61390}void{color}{color:#002200}){color}{color:#222222}couchbaseMobile{color}{color:#002200}:{color}{color:#002200}({color}{color:#222222}CouchbaseMobile{color}{color:#002200}\*{color}{color:#002200}){color}{color:#222222}couchbase failedToStart{color}{color:#002200}:{color}{color:#002200}({color}[NSError|http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSError_Class/]{color:#002200}\*{color}{color:#002200}){color}{color:#222222}error&nbsp;{color}{color:#002200}{{color} {color:#222222}&nbsp; &nbsp; NSAssert{color}{color:#002200}({color}{color:#a61390}NO{color}{color:#222222},&nbsp;{color}{color:#bf1d1a}@{color}{color:#bf1d1a}"Couchbase failed to initialize: %@"{color}{color:#222222}, error{color}{color:#002200}){color}{color:#222222};{color} {color:#002200}}{color} {color:#5b5352}When Couchbase Mobile launches it will call your code with its local serverURL. At that point it is up to you how to interact with it. &nbsp;Most of our example apps use&nbsp;{color}[CouchCocoa|https://github.com/couchbaselabs/CouchCocoa]{color:#5b5352}&nbsp;to interact with Couchbase, but there are plenty of options for how to use Couchbase, with people using everything from raw REST connections, to Core Data interfaces, to WebView interfaces. Couchbase can fit any iOS application.{color}