Release notes for 10.2.3

This release focused mostly on providing a better developer experience when working with feature data in both fully-disconnected and occasionally-connected scenarios.This topic also describes other new features, noteworthy improvements, and tips for migrating from previous versions.

Unified API for feature data

At this release, you can use a single API to work both online and offline feature data.

Until now, developers have typically used AGSFeatureLayer to retrieve feature data from remote feature services, display it on a map, perform edits, and apply changes back to the server. However, this pattern requires a reliable network connection to be available at any given time, which may sometimes not be possible for mobile devices out in the field.

At this release, a new class, AGSGDBFeatureServiceTable, has been introduced to help developers work with data from feature services, much the same way they do with data in local geodatabases. This new class extends AGSGDBFeatureTable, which represents feature data in a local geodatabase, and inherits the same API to perform queries and persist edits to features. It also works with the same AGSFeatureTableLayer to display feature data on a map. This means your application can use same logic and code path regardless of whether it is dealing with feature data from a remote service or from a local geodatabase. Furthermore, AGSGDBFeatureServiceTable is more resillient to temporary network outages and more optimal for memory consumption because it stores feature data in a temporary geodatabase on disk, unlike AGSFeatureLayer, which stores feature data entirely in memory.


The AGSGDBFeatureServiceTable currently does not support -

  • Versioned data
  • Editor tracking functionality
  • Non-spatial tables
  • Performing related table queries
  • Time-aware data

Ability to pause/resume long running jobs

Jobs such as extracting a tile package from a tiled map service or downloading a geodatabase from a feature service may take a while to finish depending upon how much data you request, the load on the server, quality of your network connection, and many other factors. While these jobs are being processed on the server, the API checks their status by polling at frequent intervals. These status checks can now be paused, for instance, if you temporarily lose network connection, and then later resumed when conditions permit. Upon resuming, the status checks will reflect the job's most current progress on the server. Refer to the API reference of AGSPausable for details.

Support for military symbology

Military software used for situation awareness and command and control pass secure communications between mobile devices in the field and command centers. Data communications can contain military messages that define where specific military symbols are located on a map. The API allows you to process these military messages and convert them to military symbols, such as those in MIL-STD-2525C, to be displayed on a map.

Improved auto pan behavior

The map automatically zooms in to the target zoomScale whenever the location display's auto pan mode is enabled (Default, Navigation, or Compass Navigation modes). Previously, this only happened once, when the location display started, but now it happens whenever auto pan mode is enabled.

Support for generic web tiles

You can now add many non-Esri, web-accessible tiles to your map. The tiles can be hosted on any HTTP server, but must follow the tiling scheme used by Open Street Map, Bing, Esri, and others. All you need is a template URL pointing to the tiles such as http://${subDomain}${level}/${col}/${row}.png where level corresponds to a zoom level, and column and row represent tile column and row, respectively. Refer to the API reference of AGSWebTiledLayer for details.

OAuth improvements

The AGSOAuthLoginViewController now provides a block-based loadCompletion handler which gets invoked when the sign-in web page has finished loading. You can use this facility to provide a customized UX while the web page is still loading. This is helpful, for example, if the network connectivity is poor and the web page is taking a long time to load. By default, the view controller shows a spinning activity indicator while the web page is loading.

The view controller also now supports enterprise logins where the enterprise identiy provider is secured with Integrated Windows Authentication (IWA).

Color adjustment to map images

Support has been added to control the brightness, contrast, and gamma properties of tiled and dynamic layers. You can change these property values to adjust the lightness/darkness of map images (brightness), or the distinction between lighter and darker areas (contrast) on the map.

Better support for synchronizing large volumes of data

When you make edits to a sync-enabled geodatabase and synchronize it with the service, only changes are exchanged with the service in an effort to keep the "delta" payload as small as possible. However, there may be times when the size of the delta may be significant, for eg, if a large number of local edits were peformed, or if even a few large attachments were added. Keeping such situations in mind, we've made the synchronization process more robust by uploading the delta payload in smaller chunks. Not only does this allow us to stay within the max upload settings on most servers , but it also allows us to limit retries to just the failed chunks when experiencing transient network problems instead of having to upload the entire payload again.

Preserving EXIF metadata in photo attachments

Photos on iOS devices now maintain their EXIF tags when added as feature attachments. This allows camera information such as make and model, shutter speed, aperture size, ISO speed setting, date and time of capture, and many others to be preserved in the attachment when it is added to the geodatabase. Perhaps the most important information included, when geotagging is enabled on the device, is the location coordinates of where the photo was taken. All of this information is then available when the attachment is viewed in ArcGIS Desktop, or on different devices and apps.

Ability to batch local edits

Under extreme situations involving large number of edits to a local geodatabase, you can increase the performance of your app by taking advantage of the new batch editing methods saveFeatures:error: and deleteFeatures:error: on AGSGDBFeatureTable. This may be useful, for instance, when you need to update a geodatabase based on a continuous stream of sensor data.

OpenSSL updates

OpenSSL cryptographic libraries have been updated to 1.0.1g. For details, see ESRI Knowledge Base - Technical Article.

New and improved samples

Migrating existing applications

XCode project changes


API changes


Related topics