Skip to content
This repository has been archived by the owner on Jan 6, 2023. It is now read-only.

Commit

Permalink
Merge pull request #1030 from Esri/v.next
Browse files Browse the repository at this point in the history
Release 100.10
  • Loading branch information
yo1995 authored Jan 27, 2021
2 parents 1111077 + dc38c7f commit d58660d
Show file tree
Hide file tree
Showing 668 changed files with 9,706 additions and 4,228 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# The name of the job, which will be displayed for the status check in PR.
name: README and metadata formatting

# Controls when the action will run.
# Below triggers the workflow on pull requests to `master` or `v.next` branch.
on:
pull_request:
branches:
- master
- v.next

# A workflow run is made up of one or more jobs that can run sequentially or
# in parallel.
jobs:
# This workflow contains a single job called "changes"
changes:
name: Check README and metadata format for changed files

# Comment out the line below if the job is only running for certain labels.
# i.e. only run the job on PRs with label "new-sample"

# if: contains(github.event.pull_request.labels.*.name, 'new-sample')

# The type of runner that the job will run on
# supported VMs are here: https://docs.github.com/en/free-pro-team@latest/actions/reference/specifications-for-github-hosted-runners#supported-runners-and-hardware-resources
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that got executed as part of the job.
steps:

# This step gets the paths to all changed files and returns an array
# such as ['xxx/README.md', 'xxx/README.metadata.json', 'xxx/1.png']
# https://github.com/trilom/file-changes-action
- id: file_changes
name: Detect changed file paths
uses: trilom/file-changes-action@master

# Checks-out your repository under $GITHUB_WORKSPACE, so the workflow can
# access the files.
# https://github.com/actions/checkout
- name: Checkout the repository
uses: actions/checkout@v2

# Print out changed file paths for debugging purposes.
- name: Print changed file paths
run: |
echo 'Below shows a list of changed file paths'
echo '${{ steps.file_changes.outputs.files}}'
# echo '${{ steps.file_changes.outputs.files_modified}}'
# echo '${{ steps.file_changes.outputs.files_added}}'
# echo '${{ steps.file_changes.outputs.files_removed}}'

- name: Run style checks
uses: ./Scripts/CI/README_Metadata_StyleCheck
with:
FILE_PATHS: ${{ steps.file_changes.outputs.files }}

# Runs a single command using the runners shell
# - name: Run a script with Python
# run: python ./Scripts/README-formatter.py
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
Xcode
# App Secrets
#
.secrets

# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

Expand All @@ -17,7 +21,7 @@ DerivedData/
!default.perspectivev3
xcuserdata/

## Ignore Mac DS_Store files
## Ignore Mac .DS_Store files
.DS_Store

## Other
Expand Down
50 changes: 40 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
ArcGIS Runtime SDK for iOS Samples [![](https://user-images.githubusercontent.com/2257493/54144188-6fe0fc00-43e8-11e9-8cf5-229af80f604a.png)](https://itunes.apple.com/us/app/arcgis-runtime-sdk-for-ios/id1180714771)
==========================

This repository contains Swift sample code demonstrating the capabilities of [ArcGIS Runtime SDK for iOS](https://developers.arcgis.com/ios/latest/) and how to use them in your own app. The project that can be opened in Xcode and run on a simulator or a device. Or you can [download the app from the App Store](https://itunes.apple.com/us/app/arcgis-runtime-sdk-for-ios/id1180714771) on your iOS device.
This repository contains Swift sample code demonstrating the capabilities of [ArcGIS Runtime SDK for iOS](https://developers.arcgis.com/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](https://itunes.apple.com/us/app/arcgis-runtime-sdk-for-ios/id1180714771) on your iOS device.

![Samples app](SamplesApp.png)

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.
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```](https://github.com/Esri/arcgis-runtime-samples-ios/releases) tab for a specific version.

## Features

Expand All @@ -25,9 +25,9 @@ The ```master``` branch of this repository contains samples configured for the l

## Requirements

* [ArcGIS Runtime SDK for iOS](https://developers.arcgis.com/ios/latest/) 100.9.0 (or newer)
* [ArcGIS Runtime Toolkit for iOS](https://github.com/Esri/arcgis-runtime-toolkit-ios) 100.9.0 (or newer)
* Xcode 11.0 (or newer)
* [ArcGIS Runtime SDK for iOS](https://developers.arcgis.com/ios/) 100.10.0 (or newer)
* [ArcGIS Runtime Toolkit for iOS](https://github.com/Esri/arcgis-runtime-toolkit-ios) 100.10.0 (or newer)
* Xcode 12.0 (or newer)

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.

Expand All @@ -41,7 +41,7 @@ The *ArcGIS Runtime SDK Samples app* has a *Target SDK* version of *12.0*, meani
> If you've already cloned the repo without the submodule, you can load the submodule using
>
>`git submodule update --init`
1. **Install** the ArcGIS Runtime SDK for iOS to a central location on your Mac as described [here](https://developers.arcgis.com/ios/latest/swift/guide/install.htm#ESRI_SECTION1_D57435A2BEBC4D29AFA3A4CAA722506A)
1. **Install** the ArcGIS Runtime SDK for iOS to a central location on your Mac as described [here](https://developers.arcgis.com/ios/get-started)
1. **Open** the `arcgis-ios-sdk-samples.xcodeproj` **project** file
1. **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.
Expand All @@ -51,18 +51,48 @@ The *ArcGIS Runtime SDK Samples app* has a *Target SDK* version of *12.0*, meani
1. **Fork** and then **clone** the repository
1. **Install** the ArcGIS Runtime SDK for iOS by running the `pod install` command in the folder where you cloned this repository
1. **Open** the `arcgis-ios-sdk-samples.xcworkspace` **workspace** file
1. **Select** the `arcgis-ios-sdk-samples` project node, go to the `Build Phases` tab, and **delete** the phases for `Embed Frameworks` and `Strip Frameworks` (these phases conflict with CocoaPods and are only required when using the installed SDK as described in the previous section)
1. **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)
1. **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)
1. **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.

```bash
touch .secrets
```

2. 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](https://developers.arcgis.com/dashboard).

```bash
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.
3. 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](https://developers.arcgis.com/pricing/licensing/) and [Security and authentication](https://developers.arcgis.com/documentation/mapping-apis-and-location-services/security-and-authentication/).

To learn more about `masquerade`, consult the [documentation](https://github.com/Esri/data-collection-ios/tree/master/docs#masquerade) of Esri's Data Collection app.

## Additional Resources

* Want to start a new project? [Setup](https://developers.arcgis.com/ios/latest/swift/guide/install.htm) your dev environment
* New to the API? Explore the documentation : [Guide](https://developers.arcgis.com/ios/latest/swift/guide/introduction.htm) | [API Reference](https://developers.arcgis.com/ios/latest/api-reference/)
* Want to start a new project? [Setup](https://developers.arcgis.com/ios/get-started) your dev environment
* New to the API? Explore the documentation : [Guide](https://developers.arcgis.com/ios/swift/guide/introduction.htm) | [API Reference](https://developers.arcgis.com/ios/api-reference/)
* Got a question? Ask the community on our [forum](https://community.esri.com/community/developers/native-app-developers/arcgis-runtime-sdk-for-ios/)

## Issues
Expand All @@ -75,7 +105,7 @@ Esri welcomes contributions from anyone and everyone. Please see our [guidelines

## Licensing

Copyright 2020 Esri
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.
Expand Down
18 changes: 18 additions & 0 deletions Scripts/CI/README_Metadata_StyleCheck/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM alpine:3.12
MAINTAINER Ting Chen <[email protected]>
ENV PYTHONUNBUFFERED=1
# Add scripts for the check.
ADD entry.py /entry.py
ADD style.rb /style.rb
ADD description_differ.py /description_differ.py
ADD metadata_style_checker.py /metadata_style_checker.py
ADD README_style_checker.py /README_style_checker.py
ADD title_differ.py /title_differ.py
# Install dependencies.
RUN echo "**** Install Ruby and mdl ****" && \
apk add --update --no-cache ruby-full && \
gem install mdl --no-document && \
echo "**** Install Python ****" && \
apk add --no-cache python3 && \
if [ ! -e /usr/bin/python ]; then ln -sf python3 /usr/bin/python ; fi
ENTRYPOINT ["python3", "/entry.py"]
Loading

0 comments on commit d58660d

Please sign in to comment.