This page provides details about enhancements in the 100.8.0 release of ArcGIS Runtime SDK for iOS. It also lists this release's deprecations, resolved issues, and known issues. You can view release notes for past SDK versions by scrolling to the bottom of this page or by downloading past versions of this guide (in PDF format) from the downloads page (requires sign-in).
This section describes new features and improvements (what's new).
Maps and scenes
Image overlays in scene views
ArcGIS Runtime 100.8.0 introduces image overlays, which can be used to quickly render frequently changing images in a scene view. For example, rendering realtime sensor data, such as weather, where each static image represents a single frame from the radar. Image overlays render above all operational layers in the scene, but below any graphics overlays in the scene view. Designed for quick display, image overlays do not support the rich processing and rendering capabilities of a raster layer, which still provides the best option for workflows that require static image rendering, analysis, and persistence.
Online services supported in mobile map and scene packages
This release of ArcGIS Runtime now supports online services in mobile map and scene package files (.mmpk and .mspk). With ArcGIS Pro 2.6, users will be able to create packages that have a mix of local on-device content as well as online service content (such as weather or traffic information). If network connectivity is available, your app users can utilize online services, but if there is no connection, users can keep working with their local content. Apps that use packages that reference online services may need to handle authentication to ensure access to these services.
Relative to scene placement of features and graphics
Features and graphics can now be placed relative to objects in a scene, such as an elevation surface, buildings in a scene layer, integrated mesh layers, and extruded polygons. Note that some objects do not affect relative to scene placement (such as extruded points or lines, KML layers, or model symbols).
Improved text rendering in scene views
Text rendering in scene views has been greatly improved with a signed distance field (SDF) algorithm. In addition to being more efficient, and therefore using less resources, text in a scene view now supports background, outline, and halo colors, rotation relative to the screen or local north, strikethrough, underline, and better support for languages with connected characters (such as Bengali, Thai, or Arabic).
Support for visual variables for point features in 2D with dynamic rendering
To accurately represent visual variables, maintain consistency with static rendering mode, and enable developers to take advantage of the optimized display experience associated with dynamic rendering mode, ArcGIS Runtime 100.8.0 supports the use of visual variables for point feature layers in a map using dynamic rendering mode.
Arcade FeatureSet expressions in pop-ups
ArcGIS Runtime now supports pop-ups with Arcade expressions that use the FeatureSet capability. Feature sets allow you to create pop-up expressions that consume information from other layers in the map, from feature services, from portal items, or from related records. The new functions supported at this release are: FeatureSetById, FeatureSetByName, FeatureSetByPortalItem, and FeatureSetByRelationshipName. These expressions can be configured and saved in a web map and displayed in your ArcGIS Runtime apps. See the following blog for a description and example of using feature sets in your pop-ups: https://www.esri.com/arcgis-blog/products/arcgis-online/data-management/pump-up-your-pop-ups-with-arcade-and-the-living-atlas/
Directions engine improvements
The Directions engine in ArcGIS Runtime has been upgraded to match what is used in the rest of the ArcGIS platform. It is fully backwards compatible with existing transportation network datasets, requires no API changes, and provides results that are consistent with other ArcGIS products such as ArcGIS Pro, Server, and Online. Furthermore, the performance of generating routes and turn-by-turn driving directions has increased by an average of 50% on desktop machines, and by 30% on mobile devices.
Identify raster layers
New to this release of the ArcGIS Runtime is the ability to perform identify operations on raster layers to obtain individual raster cell (or pixel) values. Identify is supported for raster layers referencing ArcGIS Image Services, or local raster files (on disk or device). The raster cell values can be displayed in well-formatted UI pop-ups created by the developer or from pop-ups defined in web maps and web scenes authored in ArcGIS Online or ArcGIS Enterprise.
A new trace type, called the isolation trace, has been added. Isolation traces are used to determine the minimum set of operable features required to stop a network's resource, effectively isolating an area of the network. For instance, when a leak occurs on a water network, a manager can use the isolation trace to identify the valves that must be closed to eliminate water flow at the leak location.
Trace filters are a new configuration option for utility networks that restrict the results returned by a trace without preventing it from traversing to the source. These filters allow utility managers to examine the nearest upstream protective devices.
Visualize utility network associations
New with ArcGIS Runtime 100.8 is the ability to visualize network associations on a map using a geometry that represents structural attachment and connectivity associations.
As ArcGIS Runtime continues to add utility network functionality with the 100.8.0 release, the following describes some of the capabilities that are not currently supported.
- You cannot take the utility network offline. However, you can take simple features (that are in the utility network) offline and edit them with Collector for ArcGIS or other ArcGIS Runtime apps.
- Editing capabilities are limited. You can edit utility network features as simple features, but you cannot perform utility-network-specific edits such as creating or removing associations. Attribute rules will run on the server, and dirty areas will be created, but there are no capabilities to validate network topology from ArcGIS Runtime.
- You can connect only to the default version of the feature service.
You no longer need a Utility Network extension license to load or display an AGSUtilityNetwork object. The license is needed only to perform traces.
ArcGIS Runtime Local Server
Local Server version 100.8.0 supports ArcGIS Desktop 10.8 and ArcGIS Pro 2.5. See Local Server Geoprocessing tool support topic for the list of Geoprocessing tools supported at 100.8.0.
Support for Metal
Starting with this release, 2D Maps and 3D Scenes are now rendered using Apple's Metal framework which provides near-direct access to the graphics processing unit (GPU). This has led to an increase in rendering performance, especially when displaying a large number of features or graphics in dynamic rendering mode on the GPU. In some cases, the frame rate has increased by 1.5x - 2x. Additionally, performance on the simulator has seen a tremendous boost, especially for GPU intensive workloads such as vector tiles and 3D content. Finally, the overall memory consumption of layers has reduced by up to 50% in many cases. Metal has been widely available on a range of iOS devices for quite some time now. Your apps can reap the full benefits of this improvement while still targeting all devices that meet Runtime's minimum deployment requirement of iOS 12.
Currently, Xcode only supports Metal based rendering in iOS 13 simulators on macOS Catalina. As a result, maps or scenes cannot be displayed in an iOS 12 simulator on macOS Catalina, or in any version of iOS simulators on macOS Mojave. If you are developing apps on these environments, you will need to test and debug on a physical device instead of the simulator.
- A consistent error code for NSError is now thrown for null arguments. In previous releases, in cases where a core NSError was thrown to report an unsupported null argument, the error code may have been either 1 (null pointer exception) or 2 (invalid argument exception). In this release, error code 1 (null pointer exception) will be reported consistently in this situation. For additional information on error codes, see this guide's error code topic.
- The default challenge handler for PKI Client Certificate based security has been significantly improved. The new UI uses Apple's document picker view controller, which allows your users to easily select a certificate for authentication, whether the certificate is stored locally on the device, on their iCloud drive, or other third-party file storage providers such as Dropbox and Google Drive. You (developers) can choose to customize the challenge handling and present your own UI for accepting a certificate from the user. And then you can conveniently create a credential by passing in the certificate's binary data to the new constructor AGSCredential.initWithIdentityCertificateData:password:
- In some cases, for example some null object errors and parameter out of range errors, the additional information message returned from ArcGISRuntimeException may use a generic term such as object instead of the specific parameter name resulting in the error.
- The isSketchValid members of AGSSketchEditor and AGSGeometryBuilder now check for a minimum number of points in each existing part of a multipart geometry. A polyline must contain at least two valid points in each part, and at least one part. A polygon must contain at least three valid points in each part, and at least one part. Prior to version 100.8.0, only one part was required to have the minimum number of points. There are no changes for other geometry types.
Support for iOS 11 was deprecated in the previous release and ArcGIS Runtime SDK 100.7.0 was the last release to support it. A minimum of iOS 12 is required at 100.8.0.
The classic geocode locator format (*.loc) will not be supported after ArcGIS Runtime version 100.9.0. After that release, only the newer *.loz locators, introduced with ArcGIS Pro 2.3 and ArcGIS Runtime 100.5.0, will be supported.
- BUG-000129571 ArcGIS Earth crashes on adding layer from ArcGIS online when the symbology property for a 3D web layer is set to a Procedural Fill.
- BUG-000119455 GeocodeResult.Label property returns no value for some geocoded addresses.
- ENH-000114198 Provide a functionality to retrieve Raster Information through identify operation.
- BUG-000121574 The downloaded vector tile package does not contain any attribution.
- BUG-000126426 MapView.identifyLayerAsync does not return results from a map service containing a large number of layers.
- BUG-000125810 Changing the FeatureLayer.ScaleSymbols property when the feature layer is a point layer and part of a GroupLayer causes a crash.
- BUG-000128841 HaloColor and HaloWidth properties of the Text symbol are not displayed correctly in SceneView.
- BUG-000128759 Graphics flicker on MapView when the mouse moves over the view.
- ENH-000124541 Provide functionality to retrieve raster cell values through identify or query operation.
- BUG-000113124 Secondary raster will not appear when added to mosaic dataset that is currently being displayed.
- ENH-000126129 While defining LabelExpression for Symbol using JSON, properties like borderLineColor and borderSize do not work as expected for FeatureLayers/Graphic Overlays.
- BUG-000129806 Labels flicker when identifying graphics on the map.
- BUG-000129488 A line graphic is still visible when a point is removed from the Point Collection for specific line symbols GFGPGLB and GFGPGAG in mil2525c style.
- ENH-000125141 Provide support for fast refreshing of raster data.
- GeoNet Post: FeatureLayer.Clone drops DefinitionExpression, Renderer, SelectionColor, SelectionWidth.
- BUG-000127369 ArcGIS Runtime applications do not display label callout angle in a mobile map package (.mmpk).
- BUG-000126599 Feature symbology fails to display halos.
- BUG-000127371 ArcGIS Runtime applications fail to display raster symbology in a mobile map package (.mmpk).
- BUG-000127860 Labels fail to display when querying the esriFieldTypeDate field in definitionExpression.
- BUG-000129458 Large vector tile package (vtpk) crashes in x86 Runtime application while zooming or panning
- BUG-000128862 Slow layer rendering performance from a local mobile geodatabase containg large amounts of data.
- BUG-000122413 Querying a not nullable shapefile field ("FID") in the WhereClause causes application to crash.
- BUG-000126301 A tile package (.tpkx) created using the Export Map Server Cache tool fails to load