Official repository for the iOS version of the immuni application

Overview

Immuni iOS


Table of contents

Context

This repository contains the source code of Immuni's iOS client. More detailed information about Immuni can be found in the following documents:

Please take the time to read and consider these documents in full before digging into the source code or opening an Issue. They contain a lot of details that are fundamental to understanding the source code and this repository's documentation.

Installation

The recommended method requires that Xcode 11.5 and Brew are installed on your Mac. If you would prefer to follow a custom method, you have the option not to install Brew. Please refer to the Makefile to check which dependencies are needed; you may install those manually instead.

git clone https://github.com/immuni-app/immuni-app-ios.git
cd immuni-app-ios

# This command will install the environment needed to run the project using Brew.
# If you prefer to install them manually, check the Makefile.
# Note: this step should be done just once
make setup
make immuni

Please note the following:

  • The project may be built and run in the simulator.
  • If you wish to install the application on a real device, you will need to join the Apple Developer Program and sign the App with your certificate.
  • Apple requires a special entitlement to make the Exposure Notification system work. To obtain this entitlement, you must be either a government entity or a developer approved by a government entity to develop an application on behalf of a government for COVID-19 response efforts. This is stated in the APIs addendum. You should remove Exposure Notification entitlements from the entitlements file before compiling the application. You may build and use the application, but you will not be able to use the underlying Exposure Notification system.

For more information about how the project is generated and structured, please refer to the CONTRIBUTING file.

UI testing

The repository contains a system that can generate snapshots of the application's UI in different contexts (e.g., in various languages). This is a good way of checking the UI's issues and having an overview of the various UI states. To generate them, set up the project and run make run_uitests. The generated screenshots are located in the UITests/Screenshots folder.

Please be aware that this process may take some time, depending on your computer's hardware.

Checking the build

In addition to making the code open-source, we wish to help people verify that builds published on the App Store are coming from a specific commit of this repository. Please refer to the Immuni Technology Description for a complete overview of the goals and status of this effort.

Currently, we have a working open continuous integration for building the client. Here is the full specification. When it comes to reproducible builds, we will instead open an issue explaining what we have done so far and any missing steps.

Contributing

Contributions are most welcome. Before proceeding, please read the Code of Conduct for guidance on how to approach the community and create a positive environment. Additionally, please read our CONTRIBUTING file, which contains guidance on ensuring a smooth contribution process.

The Immuni project is composed of different repositories—one for each component or service. Please use this repository for contributions strictly relevant to the Immuni iOS client. To propose a feature request, please open an issue in the Documentation repository. This lets everyone involved see it, consider it, and participate in the discussion. Opening an issue or pull request in this repository may slow down the overall process.

Contributors

Here is a list of Immuni's contributors. Thank you to everyone involved for improving Immuni, day by day.

License

Authors / Copyright

Copyright 2020 (c) Presidenza del Consiglio dei Ministri.

Please check the AUTHORS file for extended reference.

Third-party component licenses

Tools

Name License
Brew BSD 2-Clause 'Simplified'
Cocoapods MIT
CommitLint MIT
Danger MIT
SwiftFormat MIT
SwiftGen MIT
SwiftLint MIT
XcodeGen MIT

Libraries

Name License
Katana MIT
Tempura MIT
Alamofire MIT
BonMot MIT
Hydra MIT
Lottie Apache 2.0
PinLayout MIT
SwiftLog Apache 2.0
ZIPFoundation MIT

License details

The licence for this repository is a GNU Affero General Public Licence version 3 (SPDX: AGPL-3.0). Please see the LICENSE file for full reference.

Comments
  • [BUG] Exposure notifications permission prompt not showing

    [BUG] Exposure notifications permission prompt not showing

    Describe the bug

    Upon completion of the introductory wizard, a tap on "Enable" will not trigger the system prompt for access to exposure notifications.

    To Reproduce

    1. Open the app for the first time
    2. Complete the wizard
    3. Tap on "Enable"

    Expected behaviour

    The system prompt is shown and the user can authorise access to exposure notifications.

    Actual behaviour

    No prompt is shown and the purple instructions overlay disappears automatically in a bunch of seconds.

    Screenshots

    IMG_3015

    Smartphone (please complete the following information):

    • Device: iPhone 11
    • OS: iOS 13.5.1

    Additional context

    Tried re-installing, running system update and reboot.

    bug severity: critical 
    opened by amadeinic 33
  • [BUG] make setup does not work on Catalina

    [BUG] make setup does not work on Catalina

    Describe the bug the setup procedure on Catalina cannot performed as described

    To Reproduce make setup will give a permission denied error installing cocoapods if you do sudo make setup you will get an error because brew cannot be executed under sudo

    Expected behaviour make setup should work just fine

    I fixed adding a "sudo" in Makefile to install cocoapods but this could be considered an unsafe behaviour.

    I suggest to add cocoapods to be a separate prerequisite to be installed before make setup using sudo.

    bug wontfix 
    opened by sciabarra 13
  • chore: add CLA integration in pull requests

    chore: add CLA integration in pull requests

    Add cla-assistant/github-action so that new contributors get informed and can accept the Contributor License Agreement right from the pull request.

    The list of signatures is saved in .cla/v1/cla.json.

    wontfix 
    opened by bfabio 12
  • [GENERAL] Run on iOS version < 13.x

    [GENERAL] Run on iOS version < 13.x

    Is it possible to package the app to be able to run also on iOS version < 13.x? There are a lot of iPhone 6 that would be excluded because they can’t upgrade the operating system above 12.x

    ——

    È possibile distribuire l’app in modo che funzioni anche su iOS con versioni precedenti alla 13.x? Ci sono ancora tanti iPhone 6 in circolazione che sarebbero esclusi dalla possibilità di installare l’app immuni, perché non possono più aggiornare il sistema operativo oltre la 12.x

    enhancement wontfix 
    opened by micdenny 12
  • Mancata notifica su iOS

    Mancata notifica su iOS

    Mancata notifica esposizione covid - Centro Notifiche

    Ho scoperto di essere entrato in contatto con un positivo solamente dopo essere entrato (casualmente) nell'applicazione, non ho ricevuto alcun tipo di notifica (centro notifiche/lockscreen).

    Smartphone

    • iPhone 8
    • iOS 14.0.1
    • Versione app: 1.4.0 (11955)
    • Notifiche esposizione: ON
    • Notifiche: ON
    • Controlli esposizione: Regolari
    • Risparmio energetico: No
    • Paese: Italia

    Note Extra

    Capitato anche con:

    • iPhone 11
    • iOS 13.7
    • Versione app: 1.4.0

    e

    • IPhone XR
    • iOS 14.0.1
    • Versione app: 1.4.0
    wontfix 
    opened by malu84 10
  • Enable CoVid-19 Exposure Notifications does not work

    Enable CoVid-19 Exposure Notifications does not work

    Hello, I have just installed the app and when prompted to authorize the Bluetooth in order to trace my contacts I only get an information screen which asks me to click on “Enable” but no pop-up actually shows up to enable the Bluetooth usage. I run iOS 13.5.1 on iPhone 11 Pro. iOS language is EN-US. Please also find a screenshot of what’s happening. Thanks, Leo EF3CE974-4C9E-4900-AC91-D02A4486A229

    duplicate 
    opened by leourb 10
  • fix: rename MigratioLog.swift to MigrationLog.swift

    fix: rename MigratioLog.swift to MigrationLog.swift

    Description

    Just fix typo in file MigratioLog.swift that should really be MigrationLog.swift

    This PR tackles:

    • fixed the name of the file to the intended one.

    Checklist

    • [x] I have followed the indications in the CONTRIBUTING.
    • [x] The documentation related to the proposed change has been updated accordingly (plus comments in code).
    • [x] I have written new tests for my core changes, as applicable.
    • [x] I have successfully run tests with my changes locally.
    • [x] It is ready for review! :rocket:

    Fixes

    • Fixes #32
    wontfix 
    opened by danydev 10
  • [GENERAL]Notifica di non disponibilità nella mia zona

    [GENERAL]Notifica di non disponibilità nella mia zona

    Installata appena uscita. Dopo alcune ore compare notifica di interruzione tracciamento a causa della non disponibilità nella mia zona. Abito nelle Marche (Impossibile riabilitare)

    Diinstallata e reinstallata. Non si attiva Dopo un pò riprovato a abilitare e tutto ok Installato aggiornamento 13.5.1 Aggiornata app alla release 1.0.1 (1297) In serata nuova notifica di non disponibilità in zona SO: IOS 13.5.1 su iPhone 11 pro max Installata app anche su iphone 11 e nessun problema

    bug duplicate 
    opened by kermit9656 9
  • [BUG] No longer works on iOS 13.6

    [BUG] No longer works on iOS 13.6

    No longer works on iPhone 11 Pro after updating to iOS 13.6. It appears that exposure notifications are not available in my region.

    Screenshots 3C6CA10B-EB5E-4FCA-88A2-DEA56AAD2A35 6C649C54-80D8-4C35-8A33-B370E6BFEE23 A775D359-4F60-43F2-9A54-566CDFCE9082

    Smartphone:

    • Device: iPhone 11 Pro
    • OS: 13.6
    • Version: 1.3.1
    triage wontfix 
    opened by Gius-8 8
  • (fix): Changed Makefile to solve

    (fix): Changed Makefile to solve "Unknown command" Error

    Description

    This PR tackles:

    • Error when launching make setup command on a freshly installed brew

    In particular, the command make setup failed with the error: Error: Unknown command: bundle if the "homebrew/bundle" tap was not installed on the machine (does not come preinstalled on basic brew installation).

    Checklist

    • [x] I have followed the indications in the CONTRIBUTING.
    • [ ] The documentation related to the proposed change has been updated accordingly (plus comments in code).
    • [ ] I have written new tests for my core changes, as applicable.
    • [x] I have successfully run tests with my changes locally.
    • [x] It is ready for review! :rocket:
    opened by GianlucaCesari 8
  • [BUG] iOS 14 COVID-19 Exposure Logging not enabled but Immuni still active

    [BUG] iOS 14 COVID-19 Exposure Logging not enabled but Immuni still active

    Describe the bug

    Since I updated to iOS 14, I can't enable COVID logging because it is not available in my region (probably an iOS 14 bug). But Immuni is still active. Maybe there's nothing wrong on your side and it's all on an iOS 14 bug, but I wanted to let you know anyway.

    To Reproduce

    1. Go to 'Settings -> Privacy -> Health -> COVID-19 Exposure Logging
    2. Click on 'Off (I can't enable it on my device)'
    3. Go to the Immuni App
    4. Still active

    Expected behaviour

    Immuni shouldn't be active if COVID-19 Exposure Logging is off.

    Screenshots

    Smartphone:

    • Device: [iPhone X]
    • OS: [iOS14.0]
    • Version [1.2.0]
    triage 
    opened by Dr-Electron 7
Releases(Immuni-2.6.0build41530)
Owner
Immuni - Commissario straordinario per l'emergenza Covid-19
Presidenza del Consiglio dei Ministri
Immuni - Commissario straordinario per l'emergenza Covid-19
An iOS application for remembering to take your medications. (Pronounced like the letters R-X.)

Arex An iOS application for remembering to take your medications. Downloading The following commands will set up an Arex checkout. You'll need Xcode o

Alexsander Akers 99 Jun 29, 2022
Application iOS de l'outil ViteMaDose

Vite Ma Dose pour iOS Présentation du projet Vite Ma Dose est un outil permettant de détecter les rendez-vous de vaccination. Cette application rapide

CovidTracker 32 Feb 9, 2022
Covid-19/Pneumonia Detection Application through Chest Radiographs

CoviScan Covid-19/Pneumonia Detection Application through Chest Radiographs Curr

Aryan Shrivastava 0 Dec 18, 2021
Taiwan Social Distancing App - iOS

social-distancing-ios 臺灣社交距離 App 由衛生福利部疾病管制署與台灣人工智慧實驗室共同研發,提供臺灣地區用戶接收 COVID-19 接觸通知,並提醒收到接觸通知的用戶連繫當地衛生局,以減少傳染風險。 ● 保障個人隱私 利用手機藍牙功能來估計社交互動,資料以匿名方式儲存在個人

AILabs.tw 280 Oct 24, 2022
Coronavirus tracker app for iOS & macOS with maps & charts

Features Live data: Shows the most recent data, and updates automatically. Distribution map with two levels of details: Countries: When the user zooms

Mhd Hejazi 1.5k Dec 28, 2022
Corona Virus Tracker & Advices iOS App with SwiftUI

Corona Virus Stats & Advices App with SwiftUI Features Current statistics of global total confirmed, deaths, recovered cases. Statistics of countries

Alfian Losari 358 Dec 27, 2022
CovidCertificate Apps for iOS

COVID Certificate Apps - iOS This project is released by the the Federal Office of Information Technology, Systems and Telecommunication FOITT on beha

Swiss Admin 111 Dec 19, 2022
:globe_with_meridians: Small iOS app to show some COVID-19 health, data, news and tweets

covid19.swift Small iOS app to show some COVID-19 health, data, news and tweets ⚡ Requirements Xcode 12, iOS 14 Credits API: COVID-19 API: News Tweets

null 26 Nov 30, 2022
Open source iOS app to track COVID-19 cases in a beautiful, easy-to-use interface

Covidcheck Covidcheck is an app that allows people to track COVID-19 cases in an easy-to-use interface to increase awareness and preparation. Unfortun

Julian Schiavo 255 Aug 11, 2022
Swift iOS app that tests if you are depressed

Depressed? is an app that asks you the nine questions from the PHQ-9 questionnaire to determine if you are depressed. The questionnaire is implemented

Christian Lobach 92 Dec 16, 2022
Gleam iOS client for VK Hackathon 2018

Gleam for iOS Skin cancer screening app. About Gleam Skin cancer is in third place in terms of the incidence of oncology detection in Russian men and

Alexey Karataev 34 Nov 17, 2022
Glucosio iOS App

Glucosio has moved to Gitlab! Visit our project repos on Gitlab Glucosio for iOS Glucosio for iOS, a user centered free and open source app for Diabet

Glucosio 51 Jul 23, 2022
Intuitive cycling tracker app for iOS built with SwiftUI using Xcode. Features live route tracking, live metrics, storage of past cycling routes and many customization settings.

GoCycling Available on the iOS App Store https://apps.apple.com/app/go-cycling/id1565861313 App Icon About Go Cycling is a cycling tracker app built e

Anthony Hopkins 64 Dec 19, 2022
A drink tracker for iOS with Untappd and HealthKit integration.

Good Spirits is a drink tracking iOS app that helps you stay under the government limits for "low-risk" drinking. Includes charts and stats, the abili

Alexei Baboulevitch 171 Nov 22, 2022
iOS and WatchOS Client for the Nightscout CGM System

Nightguard This is an iPhone and Apple Watch application to display blood glucose values stored at your nightscout server. Description Disclaimer! Don

null 170 Dec 28, 2022
OpenCovidTrace iOS App – Fully Private Open Source Contact Tracing

OpenCovidTrace iOS App Visit https://opencovidtrace.org to learn more. WARNING: Issue with DP3T SDK DP3T switched to Exposure Notification Framework o

Open Covid Trace 20 Dec 27, 2022
CoronaMelder - COVID-19 Notification App for iOS

CoronaMelder - COVID-19 Notification App for iOS This repository contains the native iOS implementation of the Dutch COVID-19 Notification App CoronaM

Ministerie van Volksgezondheid, Welzijn en Sport 121 Dec 10, 2022
WordPress for iOS - Official repository

WordPress for iOS Build Instructions Please refer to the sections below for more detailed information. The instructions assume the work is performed f

WordPress Mobile 3.4k Jan 9, 2023
Go Flashcards for iOS and WatchOS - Official repository

Go Flashcards for iOS and WatchOS Go Flashcards for iOS and WatchOS is an application that allows users to create stacks of flashcards and review them

Roy 60 Dec 8, 2022
Contains a demo version of the official Roll player.

RollDemo This package is a demo version of Roll player which is a native iOS audiovisual player that builds on AVFoundation. Contact Information: Raji

Rajiv 8 Jul 29, 2022