Skip to content

Toolkit components that will simplify your iOS app development with ArcGIS Runtime

License

Notifications You must be signed in to change notification settings

Esri/arcgis-runtime-toolkit-ios

Repository files navigation

ArcGIS Runtime Toolkit for iOS

doc CocoaPods SPM

The ArcGIS Runtime SDK for iOS Toolkit contains components that will simplify your iOS app development. Check out the Examples project to see these components in action or read through the Documentation to learn more about them.

Try ArcGIS Maps SDK for Swift version 200

ArcGIS Runtime SDK for iOS version 100.15 is a long-term support release focused exclusively on bug fixes and minor updates.

ArcGIS Maps SDK for Swift version 200 builds on the proven architecture of 100.15, and provides a new API designed exclusively for developing iOS apps using Swift - Apple's modern, powerful, and intuitive programming language.

To use Toolkit in your project:

Toolkit Components

  • Augmented reality (AR) - Integrates the scene view with ARKit to enable augmented reality (AR).
  • Bookmarks - Shows bookmarks, from a map, scene, or a list.
  • Compass - Shows a compass direction when the map is rotated. Auto-hides when the map points north up.
  • FloorFilter - Allows to filter floor plan data in a geo view by a site, a building in the site, or a floor in the building.
  • JobManager - Suspends and resumes ArcGIS Runtime tasks when the app is background, terminated, and relaunched.
  • LegendViewController - Displays a legend for all the layers in a map or scene contained in an AGSGeoView.
  • MeasureToolbar - Allows measurement of distances and areas on the map view.
  • PopupController - Display details and media, edit attributes, geometry and related records, and manage the attachments of features and graphics (popups are defined in the popup property of features and graphics).
  • Scalebar - Displays current scale reference.
  • TemplatePickerViewController - Allows a user to choose a template from a list of AGSFeatureTemplate when creating new features.
  • TimeSlider - Allows interactively defining a temporal range (i.e. time extent) and animating time moving forward or backward. Can be used to manipulate the time extent in a MapView or SceneView.

Requirements

The ArcGIS Runtime Toolkit for iOS has a Target SDK version of 14.0, meaning that it can run on devices with iOS 14.0 or newer.

Instructions

Swift Package Manager

  1. Open your project in Xcode
  2. Go to File > Swift Packages > Add Package Dependency option
  3. Enter https://github.com/Esri/arcgis-runtime-toolkit-ios as the package repository URL
  4. Choose version 100.15.0 or a later version. Click Next.

Note: The Toolkit Swift Package adds the ArcGIS SDK Swift Package as a dependency so no need to add both separately. If you already have the ArcGIS SDK Swift Package delete that and just add the Toolkit Swift Package.

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

Cocoapods

  1. Add pod 'ArcGIS-Runtime-Toolkit-iOS' to your podfile
  2. Run pod install. This will download the toolkit and the ArcGIS Runtime SDK for iOS which the toolkit depends upon and then configure your project to reference them both
  3. Add import ArcGISToolkit in your source code and start using the toolkit components

New to cocoapods? Visit cocoapods.org

Manual

  1. Clone or download this repo
  2. Drag and Drop the arcgis-runtime-toolkit-ios folder into your project through the Xcode Project Navigator pane
  3. Add the ArcGISToolkit library in your app, by adding it to the Frameworks, Libraries, and Embedded Content section of the General pane for your app target. The ArcGISToolkit library contains the ArcGIS Runtime SDK for iOS library, so you don't need to add that separately.
  4. Add import ArcGIS and import ArcGISToolkit in your source code and start using the toolkit components

Note: The manual installation method also allows you to use a local installation ArcGIS Runtime SDK for iOS by making minor edits to the swift package.

Configure API Key

Some of the toolkit components and examples utilize a set of ready-to-use ArcGIS Platform services, including basemaps, and therefore require an API Key to be set in AppDelegate.swift. Please see the setup guide for more information.

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.

Additional Resources

Issues

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

Contributing

Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.

Licensing

Copyright 2017 - 2022 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's LICENSE file.