SimpleGeo.framework is an Objective-C client library for the SimpleGeo API, suitable for use in both Mac OS X and iOS applications.
SimpleGeo.framework is available as either a downloadable ZIP
file or a branch suitable for use as a git
submodule. In either case, you'll want to place the framework in a subdirectory beneath your app.
Here's an example of adding SimpleGeo.framework as a submodule:
$ git submodule add -b framework-ios \
git://github.com/simplegeo/SimpleGeo.framework.git Resources/SimpleGeo.framework
Once SimpleGeo.framework has been placed in a subdirectory beneath your app, drag it into your Xcode project; it will show up as a linked framework.
Add the following additional frameworks to your project by clicking on your Target, choosing the "Build Phases" tab, and using the + button at the bottom of the "Linked Libraries" section:
- Foundation
- UIKit
- CoreGraphics
- CFNetwork
- SystemConfiguration
- MobileCoreServices
- CoreLocation
- MapKit
- libz
- SimpleGeo (if it's not already present)
Non-system frameworks must be statically linked to your application (iOS does not allow embedded frameworks), so you'll need to add -ObjC and -all_load to "Other Linker Flags" (accessible via the "Linking" section under your Target's "Build Settings" tab).
SimpleGeo-iOS is an example of an iOS application built using SimpleGeo.framework.
Once SimpleGeo.framework has been placed in a subdirectory beneath your app, drag it into your Xcode project; it will show up as a linked framework.
Add the following additional frameworks to your project by clicking on your Target, choosing the "Build Phases" tab, and using the + button at the bottom of the "Linked Libraries" section:
- CoreServices
- SystemConfiguration
- libz
- SimpleGeo (if it's not already present)
SimpleGeo-Mac is an example of a Cocoa application built using SimpleGeo.framework.
If you'd like help getting started with some basic tutorials, visit our Objective-C tutorials page.
You may download and modify the SimpleGeo.framework source code to meet custom needs. If you make edits that may be appreciated by others, please submit a GitHub pull request.
SimpleGeo.framework depends on the following codebases:
ASIHTTPRequest(a git submodule)ASIHTTPRequest+OAuth(a git submodule)JSONKit(a git submodule)GHUnit.framework(for testing)
An included script can get you up and running quickly. To download and update dependencies, simply run:
./Scripts/update-dependencies
The script does the following:
- Downloads
GHUnit.frameworkinto the framework's Resources/ directory - Runs
$ git submodule update --initto download and update theASIHTTPRequest,ASIHTTPRequest+OAuth, andJSONKitsubmodules. If git is not installed, the appropriate files are simply downloaded into the framework's Resources/ directory.
To generate a usable SimpleGeo.framework for OS X from the command-line:
$ make
The resulting framework will appear in build/Release.
To generate a usable SimpleGeo.framework for iOS from the command-line:
$ cd iOS
$ make
The resulting framework will appear in iOS/build/Release-iphoneos.
Building from the command-line will create an über-Universal framework, built for armv6 and armv7 devices as well as the iOS Simulator.
To generate html docs and install a handy Xcode docset:
$ ./appledoc .
SimpleGeo.framework is fully supported by SimpleGeo. If you have any questions, comments, or bug reports, please contact us via our Google Groups support page.