Toolkit
The ArcGIS Runtime SDK for iOS offers an open source toolkit that contains components to help 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.
To use Toolkit in your project:
- Install with Swift Package Manager - Add
https:
as the package repository URL.//github.com/Esri/arcgis-runtime-toolkit-ios - Install with CocoaPods - Add
pod 'ArcGIS-Runtime-Toolkit-i
to your podfileOS' - Build manually - Build and include manually if you'd like to customize or extend toolkit
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.
- Floor filter - Shows sites and facilities, and enables toggling the visibility of levels on floor-aware maps and scenes.
- 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
AGSGeo
.View - 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 (pop-ups 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
AGSFeature
when creating new features.Template - 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
Map
orView Scene
.View
Resources
Instructions
Swift Package Manager
Xcode 14
- Open your Xcode project. In the menu bar, select File > Add Packages...
- In the search bar, enter
https:
as the package repository URL//github.com/Esri/arcgis-runtime-toolkit-ios - Optionally, select an option for the Dependency Rule if you want to specify an exact version or a range of versions to use
- Click Add Package
- Add
import ArcGIS
andimport ArcGISToolkit
in your source code and start using the toolkit components
New to Swift Package Manager? Visit swift.org/package-manager/.
Cocoapods
Add
pod 'ArcGIS-Runtime-Toolkit-i
to your podfileOS' 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 bothAdd
import ArcGIS
andimport ArcGISToolkit
in your source code and start using the toolkit componentsNew to cocoapods? Visit cocoapods.org
Manual
- Clone or download this repo
- Drag and Drop the
arcgis-runtime-toolkit-ios
folder into your project through the Xcode Project Navigator pane - 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
- Add
import ArcGIS
andimport ArcGISToolkit
in your source code and start using the toolkit components
Access ArcGIS location services
The toolkit examples app has been updated to make use of ESRI basemaps defined with default basemap styles. These basemaps take advantage of geographically load-balanced ArcGIS location services and allow you to monitor usage with API keys or access tokens from user authentication. To use the toolkit examples app, you must set an API key or authenticate an ArcGIS user. For more information, see Access services and content with an API key.
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.