This page provides details about enhancements in the 100.6 release of ArcGIS Runtime SDK for iOS. It also lists this release's deprecations, resolved issues, and known issues.
Enhancements
This section describes new features and improvements.
Utility network
You can now use an utility network with ArcGIS Runtime. Utility networks provide a comprehensive functional framework in ArcGIS for modeling utility systems such as electric, gas, water, storm water, wastewater, and telecommunications. It is designed to model all of the components that make up your system—such as wires, pipes, valves, zones, devices, and circuits—and allows you to build real-world behavior into the features you model. The utility network framework enables advanced out-of-the-box analytics and visualization for geographic location, network topology, or complex assemblies.
Route navigation
ArcGIS Runtime SDK can now navigate a route between two or more locations across a transportation network. The new navigation API gives you the ability to enhance the routing experience by using the current device location to track progress, and can provide navigation instructions (maneuvers) as the user travels the route. You can integrate driving directions with your device's text-to-speech capability and automatically re-calculate a new route when the user leaves the current one. Implementing navigation in your runtime app requires a Basic license.
Maps and scenes
Preplanned scheduled updates
This release introduces an optimization for the preplanned offline workflow using scheduled updates. In this scenario, web map authors can configure map areas to periodically update feature data on a regular schedule and stage those changes on the portal for distribution. Runtime apps that have taken those map areas offline can then simply check for updates and download the changes directly from the portal without having to perform expensive sync operations with the backing feature services. This workflow increases the scalability of working with offline maps since all users can retrieve updates to their map areas using the same set of downloads that are available from the portal without increasing load on backing feature services.
Close mobile map/scene packages
A new close()
method has been added to Mobile Map Package and Mobile Scene Package to force close connections to the package. This releases any file locks for the data on disk thereby allowing apps to remove or change the underlying package file or directory. This is particularly helpful for garbage collected platforms where simply releasing references to the package object in the app does not guarantee that the object will be destroyed and any file handles it has will be closed. After closing the package, do not continue to use any objects (maps, scenes, layers, tasks, features, etc) that were retrieved from the package
Improved performance
Performance of Mobile map packages containing a large number of layers such as those that include Streetmap Premium data has been improved. In some cases the time taken to display the initial map data is 3 times as fast and uses 33% less memory as compared to the previous version.
Group layers in mobile map packages
Mobile map packages (.mmpk
) now preserve group layers that are defined in a map authored in ArcGIS Pro. Group layers are no longer flattened into individual layers, and the group layer is visible in the layer list. Overrides affecting min/max scale, opacity, and visibility properties of a group layer are honored in a mobile map package. Support for group layers in web scenes and web scene packages was introduced in an earlier release; the current release brings full group layer support to mobile map packages as well.
Enhanced dictionary symbology
ArcGIS Runtime SDK now supports a new format of dictionary style file introduced by ArcGIS Pro version 2.4. This format uses Arcade for the logic to generate symbols and is therefore fully customizable. Use of the older format styles is supported but deprecated in this release. To create a custom dictionary style, refer to the Dictionary renderer toolkit project on GitHub.
Create and modify KML content
Previous releases supported reading and displaying KML content (.kml
and .kmz
files) from your local disk and from the web. This release enables you to create new KML content, or modify existing content. The following KML content types are supported for creating, editing, and saving to KML datasets:
- Placemarks (point, line, polygon)
- GroundOverlays
- Folder and document containers
- Network link parameters
Exceptions to editing KML files
The following KML content types currently cannot be created, edited, or saved:
- ScreenOverlays
- Shared styles (Geometry, Placemarks, Overlays)
- Highlight Icon styles
- KML datasets with multiple root nodes
Custom parameters for WMTS and WFS requests
ArcGIS Runtime SDK now supports custom parameters for WMTS and WFS requests. Custom parameter properties now appear on the Wmts
, Wmts
, and Wfs
classes. This support is consistent with ArcGIS Runtime's existing support for custom parameters on WMS requests in the Wms
class. Custom parameters are appended as key/value pairs to WMS, WMTS, and WFS requests such as Get
and Get
. Setting custom parameters allow you to specify additional parameters to service request such as API key access tokens or user credentials. See the API documentation of these classes for details.
3D layers
Optimized scene layer loading pattern for desktop
Devices with adequate memory resources (such as desktops) employ a new scene layer loading pattern that provides more intuitive draw and navigation performance. Scene layers load and render more quickly with content nearest the camera loaded first and at the highest appropriate resolution. Initially, a coarse representation covering the full extent is loaded. This allows the camera to spin around and not see empty spaces. Finer detail is added progressively. Constrained-memory devices, such as mobile devices, are not affected by this enhancement.
Elevation offset
A feature layer or a graphics overlay in your ArcGIS Runtime application can now support elevation offsets defined in a scene defined in ArcGIS Pro or the Scene Viewer. You can also read and modify the elevation offsets.
The altitude
property affects all features in a feature layer or all graphics in a graphics overlay. Classes that now have the property are:
AGS
ArcGIS Scene Layer AGS
Layer Scene Properties AGS
Integrated Mesh Layer AGS
Point Cloud Layer
The altitude offset property works with web scenes or scenes from a mobile scene package (.mspk). Units are in meters.
Point scene layers
Point scene layers in your ArcGIS Runtime applications now have additional functionality: your users can select a point and identify its attributes in a popup. Point scene layers provide fast, responsive display of point features in a 3D view based on scale, distance, and threshold parameters associated with a viewpoint. Point scene layers are generated from point feature layers and can be loaded from a web scene, mobile scene package, or directly from a service. Note that when a scene is shared as a web scene in ArcGIS Pro, any point feature layers present in the 3D Layers section of the Contents pane will be published as a scene service. Thus, publishing a point feature layer in a web scene automatically generates a point scene layer.
Supported 3D file formats
Supported 3D file formats are as follows:
*.dae
- Collada*.obj
- WaveFront*.3ds
- 3D Studios*.fbx
- Filmbox
For a list of 3D file formats that were mentioned in previous releases but are now deprecated, see Deprecations section.
Ukrainian language support
Localized Directions returned by route task and closest facility task are now available in Ukrainian.
Annotation
Runtime users can now take annotation data offline from a sync-enabled feature service. They can create annotation layers from ArcGIS feature tables contained in either a geodatabase or a feature service. Annotation features within an annotation layer are partitioned into annotation sublayers. Accessing the sublayers allows Runtime users to read the published metadata and manually toggle visibility of the sublayer.
Preparing for iOS 13 dark mode
In preparation for the upcoming release of iOS 13, UI elements as pop-ups and the attribution bar in Map View and Scene View have been enhanced to adapt correctly to dark mode. ArcGIS Online already provides a number of dark-themed basemaps such as Streets Night, Light Gray Canvas, and Dark Gray Canvas to complement the overall dark look of your apps.
Better support for PKI Certificates
Support for authentication using PKI certificates has been improved. The default challenge handler now automatically performs authentication using a certificate that matches the service's protection space. If more than one matching certificate is available to the app, the handler presents a list of certificates to the user to choose from.
Scene Interaction options
You can now easily configure user interactions supported with the Scene View. You can specify a factor to control zoom interactions, disable all interactions, or selectively disable the flick gesture for fast panning.
Behavior changes
- Applying a viewpoint constructed with a map scale now displays a different visible area in a scene view. In previous versions, a much larger scale value had to be provided to create a visible extent comparable to the same scale applied to a map view. A viewpoint constructed with a scale value now displays roughly the same area when applied to a map view or a scene view.
- Runtime will now use a default renderer when displaying various raster formats. This change improves display consistency when displaying raster data if a renderer is not specified.
- Selection for dictionary symbols works slightly differently at 100.6 than it did at 100.5. If a dictionary symbol has text, the text is now selected along with the rest of the symbol. This is a behavior change for existing Runtime users, and is similar to selection in ArcGIS Pro.
Deprecations
The static framework (installed under ${
by the SDK package installer) was deprecated at version 100.5.0. It has been removed at this release. If your project was configured to use the static framework, follow the instructions listed below to remove it from your project.
- Under the Build Settings tab > Framework Search Paths setting, remove the
$(
entryHOM E)/ Library/ SD Ks/ ArcGI S/i O S/ Frameworks/ Static - Next, under the Other Linker Flags setting, remove the
-framework ArcGIS
entry - Finally, find the reference to
ArcGI
file in your project's navigator window and delete it.S. Bundle
To migrate your project to the dynamic framework, refer to Configure your Xcode project for details.
Some 3D file formats used for 3D symbols are deprecated. The last release to support these formats is 100.6.0.
- Drawing Exchange Format
*.dxf
files - Direct X
*.x
files - Polygon file format
*.ply
files (Standard polygon library) - Stereo lithography CAD
*.stl
files - Industry foundation classes
*.ifc
files - Blender
*.blend
files
Issues resolved
- BUG-000123552 An extruded line graphic fails to render in a scene view when exceeds a certain height.
- BUG-000123647 An access violation occurs in SceneView when enabling labels on graphics overlays..
- BUG-000121670 Graphics overlays with the visibility turned off are flashing with around 10 or more graphics overlay layers.
- BUG-000121802 Application crashes if the path location contains a Chinese character.
- Access violation calling SuggestAsync on a composite locator from a mobile map package. For more information see the Esri Community post, Access Violation In Runtime 100.5.
- BUG-000123182 A point layer from a local geodatabase (GeodatabaseFeatureTable) fails to display when sharing the same ArcGISMap between two activities.
Known issues
- BUG-000122050 The QueryFeaturesAsync method in ServiceFeatureTable class does not request M values for features.
- BUG-000122510 Selecting features on a feature layer using featureLayer.SelectFeaturesAsync() uses the geometry of the polygon extent rather than the geometry of the polygon itself when querying from an event listener.
- BUG-000122389 LocalMapService.StartAsync throws an exception when a path to the map package contains spaces.
- BUG-000121666 Creating features with PolygonBuilder with projected coordinate system (for example, with WebMercator) does not work as expected in a SceneView.
- BUG-000121134 Feature layer labels render differently depending on whether the layer is part of the web map or not.
- BUG-000120751 A scene layer package created from OSGB data in ArcGIS Pro by the Create Integrated Mesh Scene Layer Package tool fails to display.
- BUG-000120229 The ArcGIS Online web map feature does not sync to the preplanned area when the feature is moved out of the extent of the preplanned map area.
- BUG-000120165 MapView.SetViewpointAsync() returns a larger extent than specified.
- BUG-000119567 CountryCode and Category properties in the SuggestionParameters function do not work with the LocatorTask function from a mobile map package.
- BUG-000117828 The performance of Surface.GetElevationAsync() is not optimal when invoked initially. It improves with each invocation.
- BUG-000117556 Some graphics overlay labels may not always be displayed.
- BUG-000117177 Rendering extrusion for line features fails to work as expected in a 3D scene.
- BUG-000117102 Feature class used to create locator that has M-value does not populate with the value of Match_addr and Label.
- BUG-000116969 Setting SceneSymbolAnchorPosition.Origin does not work when the 3D model has an offset.
- BUG-000116792 The layers in a mobile map package created with ArcGIS Pro do not respect label stacking properties.
- BUG-000116356 Loading some mobile map packages may cause a crash.
- BUG-000116322 When consuming a vector tile package, the offset property of symbol layers is not honored.
- BUG-000116235 The SelectFeaturesAsync and QueryFeaturesAsync methods return more than one result even when tolerance is set to 0.
- BUG-000116234 The GetElevationAsync method returns a different elevation from a raster when compared to the Get Cell Value method in ArcMap.
- BUG-000116209 Labeling feature weights assigned to a feature class in ArcGIS Pro 2.2 mobile map package is not honored.
- BUG-000116022 Downloading the map area returns the error message "Unable to complete operation" when the web map contains an ArcGIS Server feature service using versioned data.
- BUG-000115855 Geometry does not return the M-value even if the Geometry.HasM property is true.
- BUG-000115750 Tile packages created from certain tiling schemes neither display nor provide any exception.
- BUG-000115711 ArcGISFeatureTable.QueryRelatedFeaturesAsync fails to return the related records data in some cases.
- BUG-000114021 Trying to delete a raster used by a raster layer causes an error.
- BUG-000110655 UniqueValueRenderer does not properly render a dynamic SublayerSource of a LocalMapService.
- BUG-000123710 The SceneView.ScreenToBaseSurface Method sometimes causes the application to freeze.
- BUG-000120490 The Raster To Polygon geoprocessing package (.gpk) fails to start as a local geoprocessing service when created from ArcMap 10.6.1 packaged from a geoprocessing tool result.
- BUG-000121574 A downloaded vector tile package does not contain any attribution.
- BUG-000121695 MapView.IdentifyLayersAsync applied to a layer with a DefinitionExpression results in poor performance.
- BUG-000115811 Blend renderer for scene view renders in a different color range than for map view.
- BUG-000123744 When a shapefile is added to a Local Server dynamic workspace, 32-bit Microsoft Excel launches 10 seconds slower.
- BUG-000115068 - The LegendInfo of Local Server based ArcGISMapImageLayer sublayers created from shapefiles is not updated to represent sublayer renderer symbology
- BUG-000121762 OpenStreetMap Vector Basemap displays large gaps between dashed lines for trail polylines on a high resolution display.
- BUG-000122693 Features from large shapefiles fail to render when the ArcGISMapImageSublayer.setLabelsEnabled() parameter is set to true.
- BUG-000120169 Large raster files (.tif) sometimes fail to load.
- BUG-000114932 When the map view is zoomed or panned, labels do not reposition to move in view as they do in ArcGIS Pro.