Introduction

ArcGIS Runtime SDK for iOS provides an Objective-C API for developers that allows you to add mapping and GIS functionality to your iPhone, iPod touch, and iPad applications. The API leverages functionality provided by ArcGIS Server services through the REST interface. The API primarily provides a map component and tasks. The map component displays map content from layers or webmaps which in turn rely on backing Tiled or Dynamic map services. You can also add Graphics on the map to display your own points or areas of interest. Tasks provide functionality such as identifying features on a map, querying features given some criteria, geocoding and reverse geocoding addresses, running geoprocessing jobs, performing network analysis such as routing, etc.

The API is distributed as a framework called ArcGIS. This framework is installed by default under ${HOME}/Library/SDKs/ArcGIS. Classes and functions defined in this framework begin with the prefix AGS. This prefix acts as a namespace and prevents naming conflicts with classes defined in your application or other frameworks you use.

Setting up your XCode project

You need to use a minimum of iOS 4 SDK to build your applications. Be sure to set your XCode project's Base SDK setting accordingly.

The API depends upon the following iOS frameworks and libraries. These need to be added to your XCode project as references -

You need to set the project's Frameworks Search Paths setting to include ${HOME}/Library/SDKs/ArcGIS , and the Other Linker Flags setting to include the following entries: -ObjC -all_load -framework ArcGIS

You must also add the ArcGIS.bundle file found under ${HOME}/Library/SDKs/ArcGIS/ArcGIS.framework/Versions/Current/Resources to your project. This bundle file contains the resources (images, etc) used by the API.

Third party libraries

The ArcGIS library depends upon and already includes the following third party libraries -

The functions/classes in these libaries have been renamed/namespaced to avoid conflicts with other versions of these libraries you may have in your project.