This release focused mostly on improving support for image services and dynamic sub-layers of map services.This topic also describes other new features, noteworthy improvements, and tips for migrating from previous versions.
Support for iOS 8, XCode 6, iPhone 6/6+
This release adds support for building applications using XCode 6 & iOS 8 SDK, and deploying them on devices running iOS 8. At the same time, we continue to support XCode 5 and iOS 7.
Support for Swift
With XCode 6, Apple introduced a new programming language for iOS development called Swift. Swift is a modern, type-safe language that builds on the dynamic object model and readability of Objective-C, while making it more expressive and yet concise . Swift is interoperable with Objective-C, and you can mix-and-match both languages when developing iOS applications.
This release adds support for developing applications using Swift. The API is still built in Objective-C, but it can be used as a first class citizen in Swift due to the interoperability between Swift and Objective-C. The SDK has been enhanced to provide resources geared towards Swift developers, while continuing to support Objective-C developers.The installer contains a starter Swift and Objective-C project called MapViewDemo which displays a map. The conceptual guide has been updated to provide both Objective-C and Swift code snippets. Tutorials describe how to build common application functionality in both Swift and Objective-C. And Swift version of existing samples will continue to be added in the coming days.
Enhanced support for Image services
Support for ArcGIS Image Services has been expanded to honor web map settings for image service layers such as image format, compression quality, interpolation method, no data values, mosaic rule, rendering rule, and layer definition. These settings are taken into account while displaying the layer and performing identify operations. In addition, support has been added to display pixel values in popups for image service layers inside web maps.
Related sample: Popups
Support for map service dynamic sub-layers
You can now override display-related settings of sub-layers belonging to an AGSDynamicMapServiceLayer. For example, you can change the renderer to make them look different, the scale visiblity to show or hide them at certain scales, and the layer definition to change which features are displayed by the sub-layers. You can also reorder sub-layers or exclude a subset from the map. These changes are applied on-the-fly by the map service and are available only for services version 10.1 or above. Additionally, support has been added to honor these settings for dynamic map service layers inside web maps.
Related sample: Dynamic SubLayer Reorder
Ability to generate customized renderers
A new class, AGSGenerateRendererTask, has been added that allows you to easily generate renderers that best suit your geographic data. You can generate an AGSUniqueValueRenderer or an AGSClassBreaksRenderer and then apply it to a layer to change its appearance. The renderer can be customized by specifying a classification scheme and a color ramp. The classification scheme defines which fields should be inspected while analyzing the data to determine a suitable value or range of values for the renderer. The color ramp defines a spectrum of colors to consider while assigning a color to each value or range of values. To generate better fitting renderers, you can also perform advanced computations such as normalizing field values by log, % of total, a specific field etc., and apply predefined classification methods such as Equal Interval, Natural Breaks, Quantile, Geometric Interval and Standard Deviation.
Related sample: Generate Renderer
General improvements & bug fixes
- Added ability to export tile caches from tile services hosted on ArcGIS Online using AGSExportTileCacheTask
- Improved support for oAuth based enterpise logins employing SAML Identity Providers such as Shibboleth and SiteMinder
- NIM103517 : Fixed issue with using composite address locators for offline geocoding using AGSLocator
- NIM104167 : Provided access to Global ID field for a sync-enabled geodatabase
- Fixed crash when loading a portal that uses a Geocode service whose URL contains unicode characters
- Prevented dynamic layers from making network requests when they are not visible in the map
- Added ability to unregister a sync-enabled geodatabase without requiring the *.geodatabase file to be present
- Fixed issue where sometimes the sub-layer visibility of dynamic map service layers in a web map is not honored correctly
- Improved support for honoring text symbol formatting in web maps
- Fixed issue with AGSPortalDelegate failure method not being invoked when using an expired oAuth credential to connect to the portal.
- Fixed issue of not being able to update a related feature that was retrieved from a sync-enabled geodatabase using [AGSGDBFeatureTable queryRelatedFeaturesWithParameters:completion:]
Migrating existing applications
XCode project changes