This repository contains Swift sample code demonstrating the capabilities of ArcGIS Runtime SDK for iOS and how to use them in your own app. The project can be opened in Xcode and run on a simulator or a device. Or you can download the app from the App Store on your iOS device.
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.
The main
branch of this repository contains samples configured for the latest available version of ArcGIS Runtime SDK for iOS. For samples configured for older versions of the SDK, look under the Releases
tab for a specific version.
The ArcGIS Runtime SDK Samples app has a Target SDK version of 14.0, meaning that it can run on devices with iOS 14.0 or newer.
arcgis-ios-sdk-samples.xcodeproj
project file
The project has been configured to use the
arcgis-runtime-toolkit-ios
package, which provides theArcGISToolkit
framework as well as theArcGIS
framework.
arcgis-ios-sdk-samples
app targetTo add the Swift packages to your own projects, consult the documentation for the ArcGIS Runtime iOS Toolkit and ArcGIS Runtime iOS SDK.
pod install
command in the folder where you cloned this repositoryarcgis-ios-sdk-samples.xcworkspace
workspace filearcgis-ios-sdk-samples
project node, go to the Package Dependencies
tab, and delete the arcgis-runtime-toolkit-ios
package
This Swift package conflicts with CocoaPods and is only required when using the Swift Package Manager as described in the previous section.
arcgis-ios-sdk-samples
app targetarcgis-ios-sdk-samples.xcodeproj
project file. Select the arcgis-ios-sdk-samples
project node, go to the Package Dependencies
tab, and delete the arcgis-runtime-toolkit-ios
package
This Swift package conflicts with manual installation and is only required when using the Swift Package Manager as described in the previous section.
arcgis-runtime-toolkit-ios
from here, and follow the instructions to add it as a local Swift package
The manual installation method allows you to use a local installation ArcGIS Runtime SDK for iOS by making minor edits to the toolkit's Swift package manifest. Follow the instructions in
Package.swift
to uncomment the lines forlocalArcGISPackage
and use it as the package dependency instead of the hosted version.
arcgis-ios-sdk-samples
app targetSome sample data is too large to store in the repository, so it is automatically downloaded at build time. The first time the app is built, a build script downloads the necessary data to Portal Data
. The script only downloads data files that do not already exist, so subsequent builds will take significantly less time.
To build this app locally, follow the steps to add an API key to a secrets file stored in the project's root directory, $(SRCROOT)/.secrets
.
Create a hidden secrets file in the project's root directory.
touch .secrets
Add your API Key to the secrets file aforementioned. Adding an API key allows you to access a set of ready-to-use services, including basemaps. Acquire the keys from your dashboard. Visit the developer's website to learn more about API keys.
echo ARCGIS_API_KEY=your-api-key >> .secrets
Replace 'your-api-key' with your keys.
Please see Configure App Secrets for adding license key and other details.
Find a bug or want to request a new feature? Please let us know by submitting an issue.
Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.
Copyright 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.