What's new in version 2.2 (update 2.2.1)

New Features

Migrating existing applications from v2.1

Migrating existing applications and projects to use the new API is relatively easy and straight-forward. Where possible, the new API is backwards-compatible and maintains the existing behavior. Note that iOS 3.x is no longer supported by the API from this release. You need to be running a minimum of iOS 4 on your device(s) and building your applications with iOS SDK 4 or higher.

XCode Project Changes

Starting from v2.2, the API is available as framework (ArcGIS.framework) and not a static library (libArcGIS.a). This makes it easier to configure new projects for development with the API. However, this also means that you need to make the following changes to any existing projects :

1. Remove the ArcGIS Library

Select the libArcGIS.a library in the Project Navigator pane, right-click on it to bring up the context menu, and select the Delete option.

2. Remove the Library Search Paths entry

Under the Build Settings tab, type "Library Search Paths" in the Search bar to quickly find the Library Search Paths setting. Double-click on its value and delete the following entry :

${HOME}/Library/SDKs/ArcGIS/iOS.sdk/usr/local/lib

3. Remove the User Header Search Paths entry

Under the Build Settings tab, type "User Header Search Paths" in the Search bar to quickly find the User Header Search Paths setting. Double-click on its value and delete the following entry:

${HOME}/Library/SDKs/ArcGIS/iOS.sdk/usr/local/include/**

4. Remove & re-add reference to the resource bundle

This step updates your project to use the new bundle inside the ArcGIS framework.

Select the ArcGIS.bundle in the Project Navigator pane, right-click on it to bring up the context menu, and select the Delete option.

Then go to the File menu, select the Add Files to <project> item, browse to the location ${HOME}/Library/SDKs/ArcGIS/ArcGIS.framework/Versions/Current/Resources, select the ArcGIS.bundle file, and click Add.

5. Add build flags

This step instructs XCode to load the ArcGIS framework.

Under the Build Settings tab, type "Other Linker Flags" in the Search bar to quickly find the Other Linker Flags setting. Double click on its value, and use the plus button to add the following entries : -framework and ArcGIS . The original entries -all_load and -ObjC are still required. Click Done when you are finished.

6. Add the Frameworks Search Paths entry

This step allows XCode to find ArcGIS framework on your disk.

Under the Build Settings tab, type "Frameworks Search Paths" in the Search bar to quickly find the Frameworks Search Paths setting. Double click in the empty space under the target column, and use the plus button to add the following entry:

${HOME}/Library/SDKs/ArcGIS/**

7. Modify Import statements

The following import statement :

import "ArcGIS.h"
Needs to be changed to :
import <ArcGIS/ArcGIS.h>

API Syntax Changes

  • The signature of the method openIntoMapView:withAlternateBaseMap: on class AGSWebMap has been changed. The type for withAlternateBaseMap: parameter has been changed from AGSWebMap to AGSWebMapBaseMap.

Updates to v2.2

2.2.1

This update contains a minor fix to the SDK installer. The v2.2 installer was unnecessarily laying down files related to ArcGIS Project Templates for XCode. As many of you might recall, these templates were deprecated and removed back at v2.1.

In majority of the cases, the laying down of these template files did not cause any harm. However, in exceptional cases, users were not able to install the v2.2 SDK due to permission issues related to where the files were being written. Even worse, the templates were being recognized by XCode giving users the false impression that ArcGIS project templates were still available and supported in v2.2. To clarify, these templates are legacy, left over from the pre-v2.1 days.

The 2.2.1 installer has been fixed to not lay down the templates. There is no change to the API or the functionality.

NoteNote:

If you already installed v2.2, simply uninstalling it will not remove the templates. You can manually remove the templates by deleting the ArcGIS folder under ${HOME}/Library/Developer/XCode/Templates

5/9/2012