ArcGIS Maps SDK for Swift Frequently Asked Questions
ArcGIS Maps SDK for Native Apps was previously known as ArcGIS Runtime SDK. It builds on the proven architecture of ArcGIS Runtime 100.x, and is designed to leverage the latest developer framework innovations.
It delivers out-of-the-box support for features like Swift Concurrency, SwiftUI, structs, protocols, enums with associated values, and native Swift collections. ArcGIS Maps SDK for Swift replaces the Objective-C based ArcGIS Runtime SDK for iOS and some rewriting of application code is required to migrate existing apps.
Local data files are geo-enabled data available in a file residing on your users' device(s), regardless of how it got there. ArcGIS Maps SDKs for Native Apps support a variety of different local file data formats. Depending upon the type of data, a specific license level may be required to use that data in an application built with Native Maps SDKs.
- View layers and packages from ArcGIS Platform. If ArcGIS packages contain local data that are not originally part of the ArcGIS Platform, viewing that data may require a higher license level. For example, to read raster files in a mobile map package or mobile scene package you need a Standard license. Refer to ArcGIS sources in the Layers page for a list of layers and packages from ArcGIS Platform.
- View layers from services in open formats such as WMS or KML accessed as a web resource or other providers such as Bing or OpenStreetMap. Access to services that are not part of ArcGIS Platform could require additional licensing not managed by Esri.
- Download, edit, and sync features in a public ArcGIS feature service. These services are available on the Internet and are not secured.
- Download, edit, and sync features in a private ArcGIS feature service. These services are only accessible on a local network and/or are secured.
- View local data that is not part of ArcGIS Platform, including KML accessed as a file resource, shapefiles, GeoPackages, ENC layers (S-57), local raster layers, use raster functions, and local raster elevation sources. Although this data may be generated by ArcGIS products, the data format is not owned or managed by Esri.
- Edit local data that is not part of the ArcGIS Platform, including shapefiles and GeoPackages.
ArcGIS Runtime Local Server is a component that enhances the functionality of desktop-focused ArcGIS Maps SDKs for Native Apps applications:
It is available as a separate installation to supplement the functionality of the Native Maps SDKs supported on Windows and Linux desktops. It is powered by packages created in ArcGIS Pro, which can be hosted by Local Server as local map, feature, and geoprocessing services. Desktop-focused Native Maps SDKs also provide a client API to access Local Server services.
Before you deploy an application built with ArcGIS Maps SDKs for Native Apps into production, you must license your app with one of the four ArcGIS Runtime license string levels: Lite, Basic, Standard, or Advanced, or implement user authentication (formerly ArcGIS identity.)
Users with this level can:
- View maps, scenes, layers and packages from ArcGIS Platform.
- View layers from services in open formats such as WMS or KML.
- Download, edit, and sync features in a public ArcGIS feature service.
- Generate a mobile geodatabase with features from a sync-enabled feature service and download updates.
- Perform place finding, optimized routing, service area calculation, and closest facility analysis using a street network.
In addition to Lite functions, users with this level can:
- Download, edit, and sync features in a private ArcGIS feature service.
- Navigate a route using the route tracker.
In addition to Basic functions, users with this level can:
- View local data that is not part of ArcGIS Platform, including KML accessed as a file resource, shapefiles, GeoPackages, ENC layers (S-57), local raster layers, use raster functions, and local raster elevation sources.
- Edit local data that is not part of the ArcGIS Platform, including tables, shapefiles, and GeoPackages.
- Perform visual analyses, including line of sight and viewshed.
In addition to Standard functions, users with this level can:
- Edit enterprise geodatabases with attachments.
- Use a subset of standard and advanced ArcGIS Pro tools to include in a geoprocessing package.
See License levels and capabilities for more details.
The ArcGIS Runtime license level enabled for an ArcGIS account (formerly named user) is dependent upon the user type.
- Viewer and Lite include a Lite license.
- Editor, Field Worker, and Basic include a Basic license.
- Creator, GIS Pro Basic, and Standard user types include a Standard license.
- GIS Pro Standard, GIS Pro Advanced, and Advanced user types include an Advanced license.
Some user types do not include an ArcGIS Runtime license, such as Storyteller and Insights.
For more information, see Get a license.
No, contact your Esri account representative for more details on transitioning license strings from 10.2.x to 100.x or 200.x.
Not by itself; API keys grant access to ArcGIS Platform services. If you are using an API key with one of the ArcGIS Maps SDKs for Native Apps, you must also include a license string to license your app for deployment. Refer to the Mapping APIs and location services guide for basic requirements.
License strings are available at the free Lite level with your ArcGIS Developer subscription, or contact your Esri account representative for paid license strings levels (Basic, Standard, and Advanced), license string extensions from Esri, and distributed deployment packs.
Yes, you can compile applications built with ArcGIS Maps SDKs for Native Apps with a Lite license string to provide access to Lite functionality, and also offer the ability to log in through a user authentication workflow with an ArcGIS account of user type
License strings are often used by customers who do not have access to an ArcGIS Online or on-premises ArcGIS Enterprise account or who are using an application that will remain offline for greater than 30 days. You are required to track the number of ArcGIS Runtime license string deployments used at each level (Basic, Standard, and Advanced), as each app installation available (including multiple apps used by a single user) counts as a deployment.
User authentication (formerly ArcGIS identity) is typically used to log in users with an ArcGIS Online account or an on-premises ArcGIS Enterprise account, and whose devices or applications will be online at least once every 30 days (the default timeout of user authentication workflows). A notable benefit of this model is that the license is attached to the user, not the application, so that one authorized user can license more than one ArcGIS Maps SDKs for Native Apps application.
Yes, each ArcGIS Developer subscription can generate one unique ArcGIS Runtime Lite license string. This string can be shared across all applications associated with the ArcGIS Developer subscription from which it was created.
Note: Protect your license string: it is unique to your ArcGIS Developer subscription.
Applications built with ArcGIS Maps SDKs for Native Apps are licensed per deployment.
If you use a license string, you are required to track the number of ArcGIS Runtime license string deployments used at each level (Basic, Standard, and Advanced), as each app installation available (including multiple apps used by a single user) counts as a deployment.
If you implement user authentication, the license is attached to the logged-in user, not the application, so that one authorized user can license more than one application.
ArcGIS Runtime license strings for paid levels (Basic, Standard, and Advanced) or extensions are purchased from Esri and distributed via deployment packs. Upon purchase of a deployment pack, you are provided with a unique license string for the level or extension you purchased. Additional deployment packs for a level or extension you purchased previously do not include another license string, however, additional unique license strings can be provided upon request. Contact your Esri account representative.
Note: Protect your license strings: they are unique to your ArcGIS Developer subscription.
No, there is no limit.
Refer to the extension licenses documentation for more information.