Giter Club home page Giter Club logo

arcgis-runtime-samples-ios's Introduction

ArcGIS Runtime SDK for iOS Samples

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.

Samples app

The master 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.

Features

  • Maps - Open, create, interact with and save maps
  • Layers - Display vector and raster data in maps and scenes
  • Features - Work with feature layers and geodatabases
  • Display Information - Show graphics, popups, callouts, and sketches
  • Search - Find addresses, places, and points of interest
  • Edit Data - Add, delete, and edit features and attachments
  • Geometry - Create geometries and perform geometric operations
  • Route & Directions - Calculate routes between locations and around barriers
  • Analysis - Perform spatial analysis via geoprocessing tasks and services
  • Cloud & Portal - Search for webmaps and list portal group users
  • Scenes - Visualize 3D environments and symbols
  • Utility Network - Work with utility networks, performing traces and exploring network elements
  • Augmented Reality - View data overlaid on the real world through your device's camera

Requirements

The ArcGIS Runtime SDK Samples app has a Target SDK version of 12.0, meaning that it can run on devices with iOS 12.0 or newer.

Building samples using installed SDK

  1. Fork and then clone the repository

    Make sure to use the "recursive" option to ensure you get the ArcGIS Runtime Toolkit submodule

    git clone --recursive [URL to Git repo]

    If you've already cloned the repo without the submodule, you can load the submodule using

    git submodule update --init

  2. Install the ArcGIS Runtime SDK for iOS to a central location on your Mac as described here
  3. Open the arcgis-ios-sdk-samples.xcodeproj project file
  4. Run the arcgis-ios-sdk-samples app target

    If you get the error message saying "This Copy Files build phase contains a reference to a missing file 'ArcGISToolkit.framework'", you probably didn't clone the repo to include it's submodule. See Step 1 above.

Building samples with CocoaPods

  1. Fork and then clone the repository
  2. Install the ArcGIS Runtime SDK for iOS by running the pod install command in the folder where you cloned this repository
  3. Open the arcgis-ios-sdk-samples.xcworkspace workspace file
  4. Select the arcgis-ios-sdk-samples project node, go to the Build Phases tab, and delete the phases for Embed Frameworks. (This phase conflicts with CocoaPods and is only required when using the installed SDK as described in the previous section)
  5. Select the ArcGISToolkit.xcodeproj project node and delete it. (this project dependency conflicts with CocoaPods and is only required when using the installed SDK as described in the previous section)
  6. Run the arcgis-ios-sdk-samples app target

Sample Data

Some 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.

Configure app secrets

As a best-practices principle, the project conceals app secrets from source code by generating and compiling an AppSecrets.swift source code file at build time using a custom build rule.

This build rule looks for a secrets file stored in the project's root directory, $(SRCROOT)/.secrets.

Note: Without licensing or licensing with invalid keys do not throw an exception, but simply fail to license the app, falling back to Developer Mode (which will display a watermark on the map and scene views).

  1. Create a hidden secrets file in the project's root directory.
touch .secrets
  1. Add your License Key to the secrets file. Licensing the app will remove the 'Licensed for Developer Use Only' watermark. Licensing the app is optional in development but required for production. Optionally add your Extension License Key and API Key to the secrets file if needed. Acquire license keys from your dashboard.
echo ARCGIS_LICENSE_KEY=your-license-key >> .secrets
echo ARCGIS_EXTENSION_LICENSE_KEY=your-extension-license-key >> .secrets
echo ARCGIS_API_KEY=your-api-key >> .secrets

Replace 'your-license-key', 'your-extension-license-key' and 'your-api-key' with your keys.

  1. Uncomment the line application.license() in AppDelegate.application(_:didFinishLaunchingWithOptions:), and choose the appropriate licensing method for your keys.

Visit the developer's website to learn more about Licensing your ArcGIS Runtime App and Security and authentication.

To learn more about masquerade, consult the documentation of Esri's Data Collection app.

Additional Resources

  • Want to start a new project? Setup your dev environment
  • New to the API? Explore the documentation : Guide | API Reference
  • Got a question? Ask the community on our forum

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 2021 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.

arcgis-runtime-samples-ios's People

Contributors

aaronpk avatar alpascual avatar chrisfrenchpdx avatar dg0yal avatar esreli avatar jf990 avatar maryharvey avatar mhdostal avatar mikewilburn avatar ncastle1 avatar nixta avatar njarecha avatar pgruenler avatar pheede avatar philium avatar qsmmorgan avatar rolson avatar sabaranski avatar saratchandrakarumuri avatar sbaskaran avatar singhgag avatar stevebaranski avatar stevemoser avatar vquach2404 avatar yo1995 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.