ArcGIS Maps SDK for Swift offers an open source toolkit that contains ready-made UI components to simplify the development of mapping and GIS apps in Swift. Check out the examples project to see these components in action or read through the documentation to learn more about them.

To use Toolkit in your project:

Toolkit Components

  • Authenticator - Displays a user interface when network and ArcGIS authentication challenges occur.
  • BasemapGallery - Displays a collection of basemaps.
  • Bookmarks - Shows bookmarks, from a map, scene, or a list.
  • Building Explorer - Allows you to explore a building model in a BuildingSceneLayer.
  • Compass - Shows a compass direction when the map is rotated. Auto-hides when the map points north.
  • FeatureFormView - Enables users to edit field values of a feature using pre-configured forms.
  • Floating Panel - Allows display of view-related content in a “bottom sheet”.
  • FloorFilter - Allows filtering of floor plan data in a geo view by a site, a building in the site, or a floor in the building.
  • FlyoverSceneView - Allows you to explore a scene using your device as a window into the virtual world.
  • JobManager - Manages saving and loading jobs so that they can continue to run if the app is backgrounded or even terminated by the system.
  • OfflineMapAreasView - Allows you to take a web map offline by downloading map areas.
  • OverviewMap - Displays the visible extent of a geo view in a small “inset” map.
  • PopupView - Displays details, media, and attachments of features and graphics.
  • Scalebar - Displays current scale reference.
  • SearchView - Displays a search experience for geo views.
  • TableTopSceneView - Allows you to anchor scene content to a physical surface, as if it were a 3D-printed model.
  • UtilityNetworkTrace - Runs traces on a web map published with a utility network and trace configurations.
  • WorldScaleSceneView - Allows you to integrate scene content with the real world.

Resources

Instructions

Swift Package Manager

  1. Open your Xcode project. In the menu bar, select File > Add Package Dependencies…
  2. In the search bar, enter https://github.com/Esri/arcgis-maps-sdk-swift-toolkit as the package repository URL.
  3. Optionally, select an option for the Dependency Rule if you want to specify an exact version or a range of versions to use.
  4. Click Add Package.
  5. Add import ArcGIS and import ArcGISToolkit in your source code and start using the toolkit components.

New to Swift Package Manager? Visit swift.org/package-manager/.

Access ArcGIS location services

The toolkit examples app has been updated to make use of the ArcGIS basemaps A basemap is the foundational layer and data that provides the overall visual and geographic context for a map or scene. It typically includes geographic features and labels for land, water, roads, buildings, cities, places, and administrative boundaries, but can also include raster data such as satellite and areal images. Learn more defined with default basemap styles A basemap style is a definition that controls the visual appearance of how geographic data in a basemap are displayed. It includes colors, backgrounds, outlines, labels, and other visual elements. Each basemap style emphasizes a specific type of cartographic theme and data. Learn more . These basemaps take advantage of geographically load-balanced ArcGIS location services and allow you to monitor usage with API keys An API key is a long-lived access token created using API key credentials. They are valid for up to one year and are typically embedded directly into client applications. Learn more or access tokens from user authentication User authentication is a type of authentication that allows users with an ArcGIS account to sign into an application and allow it to access ArcGIS content, services, and resources on their behalf. The typical authorization protocol used is OAuth2.0. Learn more . To use the toolkit examples app, you must implement API key authentication API key authentication is a type of authentication that uses an API key to authenticate requests to ArcGIS services and secure portal items. Learn more or user authentication User authentication is a type of authentication that allows users with an ArcGIS account to sign into an application and allow it to access ArcGIS content, services, and resources on their behalf. The typical authorization protocol used is OAuth2.0. Learn more . For more information, see How to use an API key or How to implement user authentication.

SwiftLint

Both the toolkit and examples app support SwiftLint. You can install SwiftLint from here. It is not necessary to have it installed in order to build, but you will get a warning without it. The specific rules the linter uses can be found in the swiftlint.yml files in the Toolkit and Examples directories.

Issues

Find a bug or want to request a new feature? Please let us know by submitting an issue.