Stopp Corona iOS App
Important: The development has stopped with 28.02.2022
„Stopp Corona“ helps you to keep track of encounters with friends, family or co-workers and save them anonymously. Should you contract the corona virus all your encounters of the last 48 hours will be informed automatically and anonymously.
About
The Stopp Corona project is an open source project for bluetooth based contact tracing deployed by the Austrian Red Cross in Austria. For developers interested in contributing, other organizations interested in joining forces please have a look at the following documents:
- Covenant: the project's ideals and goals
- Cooperation and Funding: support the development or join the project
- Code of Conduct: fair guidelines for a friendly discourse
Getting Started
Requirements
- Xcode 11
- CocoaPods (v1.9.1 or higher)
Installation
- Clone this repository.
cd
to the project's directory and runpod install
to install the third party dependencies. In case your spec sources are out of date, runpod install --repo-update
instead.- Open
CoronaContact.xcworkspace
- You will need to provide your own app secrets in order to run the app. The app will not build when you do not provide these values. They can be set in the following places:
- There is a template for a
Secrets.xcconfig
file in theConfiguration
folder. It contains keys for defining the API base URL and the API authorization key for the staging and production environment. - Copy the public server certificate as
Configuration/server.der
into the project. If you don't want to use certificate pinning you have to disable it inServices/Network/Networksession.swift
- There is a template for a
- You can choose between three different build schemes:
- CoronaContact (Development): used for development, uses staging environment
- CoronaContact (Staging): uses staging environment
- CoronaContact (Production): uses production environment
SSL Pinning
To add SSL pinning the certificates have to be included in the app bundle and the domains have to be configured in the file CoronaContact/Services/Network/NetworkSession.swift
. It’s possible to configure certificate pinning or public key pinning as described in the documentation.
Dependencies
CocoaPods is used to manage third-party dependencies. Please make sure you have Cocoapods installed. Before starting, please cd
to the project's directory and run pod install
. For more information visit cocoapods.org.
Third Party
- Carte
- lottie
- M13Checkbox
- Moya
- Resolver
- Reusable
- SQLite
- SQLiteMigrationManager
- SwiftLint
- SwiftRichString
- SwiftyBeaver
- ZIPFoundation
- GEOSwift
Notices for third party libraries in this repository are contained in NOTICE.md
.
License
This code is distributed under the Apache License 2.0. See the LICENSE.txt
file for more info.