Native iOS implementation of RadarCOVID tracing client using DP3T iOS SDK

Overview

RadarCOVID iOS App

Introduction

Native iOS implementation of RadarCOVID tracing client using DP3T iOS SDK

Prerequisites

These are the tools used to build the solution:

  • XCode 11.6

Installation and Getting Started

The project can be built with the indicated Xcode version. Dependencies are managed with Swift Package Manager, no further setup is needed.

Provisioning

The project is configured for a specific provisioning profile. To install the app on your own device, you will have to update the settings using your own provisioning profile.

Apples Exposure Notification Framework requires a com.apple.developer.exposure-notification entitlement that will only be available to government entities. You will find more information in the Exposure Notification Addendum and you can request the entitlement here.

Commit Lint

It's possible to install a git hook to authomatically check commit comments based on Conventional Commits specification.

  • Prerequisites: Node , Npm
  • Install hook:

    $ npm install

  • Generate changelog and tag release:

    $ npm run release

Support and Feedback

The following channels are available for discussions, feedback, and support requests:

Type Channel
Issues

Contribute

If you want to contribute with this exciting project follow the steps in How to create a Pull Request in GitHub.

More details in CONTRIBUTING.md.

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.

Comments
  • [URGENT] Radar COVID App Store version is not updated with DP3T SDK 1.2.1

    [URGENT] Radar COVID App Store version is not updated with DP3T SDK 1.2.1

    🔑 The DP3T SDK version 1.2.1 solved a bug to make exposure detections work again on iOS 13.7 and iOS 14.

    The App Store version of Radar COVID should be updated ASAP.

    opened by pvieito 24
  • How many people have downloaded the app (including the android version)

    How many people have downloaded the app (including the android version)

    Hi According to https://as.com/meristation/2020/10/09/betech/1602269850_371869.html only 10 % of the population has downloaded the app. That was in October, how is the situation now, and where can I get actual information? thanks and regards

    Uwe Brauer

    opened by ouboub 15
  • ¿Why I don't have exposure checks since 2020-09-10 19:24:55?

    ¿Why I don't have exposure checks since 2020-09-10 19:24:55?

    I installed the App at the end of Aug 2020.

    The exposure Api was working fine. I checked in Setttings -> Privacy. and I was a happy user. The app wasn't updated in App Store from Aug 20 until Sep 16 updates

    Exposure Notification Express on iOS 13.7

    https://developer.apple.com/documentation/exposurenotification/supporting_exposure_notifications_express A few days ago, iOS 13.7 update enhanced behaviour of the exposure Api. To support several country apps it moves the setting to a new place and allows to use more than one country specific app. So when you travel the exposure app automatically select the appropriate app based on location. Also brings a export option of the exposure checks.

    export

    The issue

    When I have seen today the exposure checks I realise that I didn't have notifications since a week ago even when I didn't change anything. I still had bluetooth enabled, I sill have the app installed. I didn't made any change on my side. Something has changed. It could be on the RadarCovid servers or it could be that the update of Apple to support worldwide covid Apps had broken something. Maybe the apps need to be updated to interact with the exposure notification express api to see if they are in charge of notifications.

    My exposure checks JSON

    I attach my exposure checks json ExposureChecks-2020-09-17.json.zip I kindly suggest to other members of GitHub to check (or export) their exposure checks json and verify if there is notification since the iOS 13.7 update. I would like that the issue only affects to me, but it could be possible that affects other users.

    Useful links

    • https://covid19.apple.com/contacttracing
    • https://developer.apple.com/documentation/exposurenotification/supporting_exposure_notifications_express
    opened by CarlosJimenez 14
  • Why is radar covid NOT participating in test phase for inter operability  for European app????

    Why is radar covid NOT participating in test phase for inter operability for European app????

    Hi I asked this on https://github.com/corona-warn-app/cwa-backlog/issues/14#issuecomment-691527556 and that was the answer The test phase starts with the country which are able to implement the connection to the EU gateway from their side at this time. Every EU country with an implemented connection can use the the gateway immediately. We have no influence on the implementation of the Spain app.

    so why does radar covid does not implement this connection. Spain depends very much on tourists, so it is in its own interest regards Uwe Brauer

    enhancement 
    opened by ouboub 14
  • Radar Covid Doesn't work

    Radar Covid Doesn't work

    Hi,

    While Contact Tracing works ok and show the positive contact, Radar Covid tell me 'Sin contactos de riesgo identificados'

    --> IOS 14.01 / latest version of Radar Covid

    1 2 3 4

    opened by JacoboJesus 12
  • [URGENT] Version 1.0.6 targets PRE-production server

    [URGENT] Version 1.0.6 targets PRE-production server

    The latest update uploaded to the App Store, which version is 1.0.6, is using the pre-production backend, which is not intended and will cause the app to not work for anybody who updates to this 1.0.6 version.

    Pre-production must not be in an App Store update which is intended to be spread to all final users. This needs to target production server. This is an urgent issue that must be resolved quickly because the app will not work if everyone update to the latest version.

    To prevent more users to update to this in the next hours and prevent another "kind-of virus spread", you just can:

    1. Remove the app from sale, this will hide the app
    2. Submit immediately a new update with the latest version or the new version targetting production server
    3. Re-enable the app from sale on iTunes Connect

    You need to make a new build targetting production servers as you have on this file: https://github.com/RadarCOVID/radar-covid-ios/blob/develop/RadarCovid/Config/Config.swift

    EiBoI96X0AAB3kp

    Update: They're aware of the issue. I've contacted them and they told me that they have fixed it server side and also pushed a new urgent update to AppStore.

    opened by JuanpaG94 12
  • Disable jailbreak detection

    Disable jailbreak detection

    There is a jailbreak detection in place which I don't understand the purpose of. Jailbreak detection should be disabled to work in as many devices as possible (in fact, I'm not using it because of this issue)

    If jailbreak detection is mandatory please explain why.

    opened by acalatrava 7
  • Sharing the diagnosis with other EU apps should be the default option

    Sharing the diagnosis with other EU apps should be the default option

    Sharing the diagnosis with other EU apps should be the default option.

    It seems that currently the default option is to only share it with Radar COVID users:

    C23D326E-CB0F-405C-BACE-7181F475A39E

    I don’t understand this design choice, IMHO it seems like a dark design pattern. I would even argue that there should not be a choice at all to restrict the diagnosis to only Radar COVID users (a simple notice should be sufficient), but if it has to be there, it should not be the default one for multiple reasons:

    • Some users will not read or understand the choice.
    • Some users will think that if there is a choice and it is not the default there should be something bad about it.
    • Some users may think they only have to select the EU apps option if they have traveled to other countries. This is not true, it is important to alert users of EU apps visiting Spain.
    • Deference to other EU apps which have been sharing all their diagnoses with the EFGS.

    Also, as there is no longer a way to retrieve TEKs shared from Radar COVID without being merged with other EFGS TEKs nor public statistics, the community cannot measure how problematic this design decision is (ie. the fraction of users which have not opted in sharing the diagnosis with EU apps).

    NOTE: I have only tested this behavior with the iOS app but I suppose it also applies to the Android app as well.

    opened by pvieito 6
  • Updating does NOT work (in Madrid)

    Updating does NOT work (in Madrid)

    Hi I installed the app in 1. July, but went to germany, since a week I am back, but last update according to the app is 1.7.2020 (I attach the screenshots), 2 friends of mine have update, 1.9.2020 which is also bad the other has 15.9.2020 which seems better I also looked up in (using iOs 13.7) Exposure Notifcation (new in 13.7)--> Exposure Logging Status-->Exposure Checks:

    There I see sort of activity Matched Key Count 0 BUT no daily keys were downloaded I germany I obtained every day up to 5000 keys (and no match) Something is not right here. Any advice is strongly appreciated regards Uwe Brauer 0f1a128a-6b2c-4128-8de6-6730807386fc IMG_3294 29ba63db-5635-425d-81dc-94ad396dfd81 ExposureChecks-2020-09-16-json.txt

    opened by ouboub 6
  • Which version of ENF is Radar using?

    Which version of ENF is Radar using?

    Hola,

    I have this statement inside my iPhone : image

    I see as well this in the exposure.json:

    {
          "Timestamp" : "2021-01-06 00:29:09 +0100",
          "Files" : [
            {
              "Hash" : "-----xxxxxFBB43",
              "KeyCount" : 355502,
              "AppBundleIdentifier" : "es.gob.radarcovid",
              "Timestamp" : "2021-01-06 00:29:12 +0100"
            }
          ],
          "AppBundleIdentifier" : "es.gob.radarcovid"
        }
    

    but I don't see any risk of exposure in the Radar App.
    I am curious to know which version of the Exposure Notification Framework / the Exposure Notification System RADAR is using?

    Version 1 or 2?

    opened by fsbaraglia 4
  • Application compatibility

    Application compatibility

    En estos momentos en el que la lucha contra el COVID-19 es esencial en nuestro país no tiene sentido que se haya diseñado a nivel técnico y funcional la aplicación con una restricción tan básica como obligar a los usuarios a disponer de, al menos, la versión 13.5 de iOS para poder hacer un uso de una aplicación en estos tiempos tan esencial como es esta.

    Sé que el motivo técnico que se argumenta de forzar la compatibilidad a iOS 13.5 como mínimo es usar la API de Apple para la notificaciones de detección.

    Si Apple, por algún motivo que no ha hecho público, desea forzar la obsolescencia programada de los dispositivos con excusa de su API para notificaciones de exposición y detección, esto no es motivo que de cara a un diseño funcional de la aplicación se fuerce a los usuarios a actualizar los dispositivos Hardware en estos momentos, con el impacto económico que ello conlleva. Recordemos que en estos momentos la gran cantidad de población que se encuentra en paro o ERTES en España con motivo del COVID-19.

    Además, hemos de recordar que la prensa ya se ha hecho eco de las limitaciones de la aplicación dejando un gran volumen de dispositivos fuera del alcance y uso de la misma, limitando de gran manera la efectividad que puede tener la aplicación ya que, para que pueda tener los resultados que se esperan de ella, es necesario que se la instalen una amplia mayoría de los usuarios.

    Por todo lo expuesto, solicito un replanteamiento de los requisitos funcionales de la aplicación para que, se tenga en cuenta dispositivos que no están soportados y de manera paralela se trabaje con otro protocolo que al menos permita a esos usuarios poder acceder a las notificaciones, tal y como se ha realizado en otras aplicaciones similares de otros países como la del NHS del Reino Unido, COVIDSafe de Australia, o en otros modelos de éxito en el uso y despliegue de este tipo de aplicaciones como es el de Corea del Sur o China.

    Referencias: https://www.elespanol.com/omicrono/software/20200819/no-funciona-movil-rastreo-radar-covid-gobierno/513949006_0.html https://www.abc.es/tecnologia/moviles/aplicaciones/abci-no-puedes-descargar-radar-covid-gobierno-deja-33-millones-espanoles-sin-poder-usar-aplicacion-202009141944_noticia.html https://www.diariodesevilla.es/tecnologia/app-rastreo-RADAR-Covid-no-funciona-moviles_0_1493550811.html https://www.applesfera.com/ios/ios-12-4-9-deseable-version-que-esperamos-soporte-a-api-radar-covid-para-iphone-5s-iphone-6 https://elpais.com/tecnologia/2020-08-13/por-que-no-puede-descargarse-radar-covid-en-algunos-moviles-chinos-y-otras-dudas-tecnicas-sobre-la-app.html https://support.apple.com/es-es/guide/iphone/iphe3fa5df43/13.0/ios/13.0

    opened by darkRyuutarou 4
  • Import Vaccination QR code

    Import Vaccination QR code

    Hi

    The German corona warn app, https://github.com/corona-warn-app allows to import the QR code of a complete vaccination. In fact I was vaccintated in Spain and could successfully imported the QR code provided by the «ministerio de salud» https://cvd.sanidad.gob.es/cvdcovid/cvdcovid-formulario/index.xhtml

    So could that feature also please be implemented for the Radar Covid App??? regards

    Uwe Brauer

    opened by ouboub 0
  • Add statistics of infections etc directly in the app not via a link

    Add statistics of infections etc directly in the app not via a link

    Currently the app does not show any statistics, save the downloads and uploaded positive test results. It does, however, provide link to the official websites.

    These sites are not very suited for a mobile device and slow to load, so could the app provide the statistical data in some parts of the app. I attach screenshots from the German Corona-Warn-App to make clear what I have in mind.

    Thanks

    Uwe Brauer

    img_4372 img_4374 img_4375 img_4376

    opened by ouboub 0
  • Once a case of COVID19 has been reported, the app cannot be reverted to a normal state

    Once a case of COVID19 has been reported, the app cannot be reverted to a normal state

    Apparently some people are reporting that, after reporting their positive through the app, it cannot return to its normal state. Therefore, they stop sharing identifiers with other terminals, leaving the system unusable.

    Some even indicate that this behavior has not been corrected in months.

    Trying to look at unit tests for a way to test this functionality, I find that they are completely out of date and in fact not working due to a dependency on RxSwift.

    On the other hand, it seems that the configuration server gives 72 hours of grace to go from an .infected state to a .healthy state. This is confirmed by the configuration of the TimeBetweenStatesDto model

    Being impossible to test in a unitary way, I find that the file ExpositionUseCase.swift contains this expression (line 112), when the current state is .infected:

    if expositionInfo.since == nil {
        expositionInfo.since = Date ()
    }
    

    Without documentation or some unit tests to track the functionality, I cannot say anything definitively, but this expression can end in an infinite cycle of .infected state, especially since this data is being saved in UserDefaults.

    Could this be the reason why once a positive has been reported, the app is no longer usable?

    EDIT: Here's some more documentation about the problem. Capture taken today 05/01/2021. App has been deleted and reinstalled

    Eq9QsS4XMAAjxHu

    EDIT 2: The user reports that, once the old contact records have been manually deleted from Settings > Exposure Notifications, the application can be activated again.

    Perhaps this procedure should be explained directly in the app, or we should be able to delete the records directly from it to avoid confusion.

    opened by jorgej-ramos 4
  • git pull resulted in a corrupt repository a fresh cloned worked

    git pull resulted in a corrupt repository a fresh cloned worked

    Hi I cloned the repository in November, but when I pulled yesterday I obtained the following error Removing RadarCovid/Application/JailBreakDetect.swift Auto-merging README.md CONFLICT (content): Merge conflict in README.md Automatic merge failed; fix conflicts and then commit the result.

    I run git fsck and obtained

    dangling blob 32a1f36623b690a4e761c06f76d0bef514bc4201

    I cloned the repository again and then everything was fine.

    opened by ouboub 0
  • Wishlist

    Wishlist

    opened by ouboub 0
  • Add support to iOS 12.5

    Add support to iOS 12.5

    About iOS 12 Updates:

    iOS 12.5 lets you opt-in to the COVID-19 Exposure Notifications system for your iPhone. System availability depends on support from your local public health authority. For more information see covid19.apple.com/contacttracing

    Saludos.

    opened by ConPac 5
Releases(1.5.0)
  • 1.5.0(Oct 10, 2022)

  • 1.4.1(Jul 23, 2021)

  • 1.4.0(Jun 22, 2021)

  • 1.3.0(Feb 17, 2021)

    Features

    • add unsupported OS check functionality
    • exposure analytics report
    • support iOS12.5
    • privacy policy update
    • romanian language added

    Bug Fixes

    • accesibility issues
    • other bug fix
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Dec 21, 2020)

    1.2.0 (2020-12-19)

    • DP-3T version upgrade to 2.0.0.
    • Radar COVID statistics view.
    • Aplication status information view.
    • Opening reminder notification.
    • Bluetooth notification when disable.
    • Confinement counter.
    • Share link for easy download.
    • Added French language.
    • Get positive code from SMS.
    • Accessibility improvements:
      • Increased text size and contrast.
      • Changed links style.
      • Tagged elements on screen.
      • Incorporated headings.

    Bug Fixes

    • accesibility issues
    • other bug fix
    Source code(tar.gz)
    Source code(zip)
  • 1.1.2(Nov 19, 2020)

    1.1.2 (2020-11-19)

    • Version preparation to allow DP3T previous version interoperatibility
    • Send Postive code. Share with europe as default

    Bug Fixes

    • accesibility issues
    • other bug fix
    Source code(tar.gz)
    Source code(zip)
  • 1.1.1(Nov 3, 2020)

    1.1.1 (2020-10-30)

    • added functionallity to send fake request at random exponential rate
    • possibility to share positive code between European countries
    • new popup announcing changes in terms and conditions
    • new settings section

    Bug Fixes

    • accesibility issues
    • hidden label and button from HomeViewController
    • other bug fix
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Oct 30, 2020)

    1.1.0 (2020-10-30)

    • added functionallity to send fake request at random exponential rate
    • possibility to share positive code between European countries
    • new popup announcing changes in terms and conditions
    • new settings section

    Bug Fixes

    • accesibility issues
    • other bug fix
    Source code(tar.gz)
    Source code(zip)
  • 1.0.8(Nov 3, 2020)

    1.0.8 (2020-10-08)

    • Improved accessibility
    • Changed header structure to improve accebility
    • onboarding: fixed crash when activating
    • exposition detailavoid showing fixed date when date is unknown
    Source code(tar.gz)
    Source code(zip)
  • 1.0.6(Sep 15, 2020)

    1.0.6 (2020-09-15)

    • Return to healthy state implemented for alerted contacts (close contacts) after 14 days.
    • Multi-language - co-official languages
    • Texts and design adjustments to meet Ministry of Health requirements
    • Privacy policies and conditions of use adjustments
    • Accessibility improvements.

    Bug Fixes

    • Some bug fixes
    Source code(tar.gz)
    Source code(zip)
Owner
Radar COVID
The official COVID-19 exposure notification app for Spain.
Radar COVID
Alter SDK is a cross-platform SDK consisting of a real-time 3D avatar system, facial motion capture, and an Avatar Designer component built from scratch for web3 interoperability and the open metaverse.

Alter SDK is a cross-platform SDK consisting of a real-time 3D avatar system, facial motion capture, and an Avatar Designer component built from scratch for web3 interoperability and the open metaverse.

Alter 45 Nov 29, 2022
Primer iOS SDK - Instantly deploy native screens without writing code

Instantly deploy native screens without writing code. Primer enables you to design and test new user experiences, and personalize them for each user.

Primer 6 Mar 23, 2018
Twitter Kit is a native SDK to include Twitter content inside mobile apps.

Twitter will be discontinuing support for Twitter Kit on October 31, 2018. Read the blog post here. Twitter Kit for iOS Background Twitter Kit is a na

Twitter Archive 674 Dec 18, 2022
MulticoinLightClientKit - A Zcash Lightweight Client SDK for iOS

Zcash iOS Framework A Zcash Lightweight Client SDK for iOS This is an alpha buil

Pirate Chain (ARRR) 0 Aug 27, 2022
Sample app to demonstrate the integration code and working of Dyte SDK for iOS, using Objective-C.

iOS sample app (using Objective-C) by dyte Sample app to demonstrate the usage of Dyte iOS SDK Explore the docs » View Demo · Report Bug · Request Fea

Dyte 8 Nov 26, 2021
This repository is for the iOS sample application using ARGear SDK.

ARGear sample application for iOS (c) Copyright 2021 Seerslab. All rights reserved. This repository contains an iOS sample application that uses ARGea

ARGear 2 Apr 5, 2022
SingleEntry in SwiftUI using the Capture SDK

SingleEntrySwiftUI for iOS Simple iOS app with SwiftUI for showing the use of Capture SDK. IMPORTANT When using/installing CocoaPods in a new project,

Taif Al Musabe 2 Jun 4, 2022
This is swift project example to connect VNPTSmartCA SDK using Swift Language.

Example source code to integrate with VNPTSmartCA iOS SDK To run the example project, clone repository, and run pod install Requirements Installation

null 1 Feb 14, 2022
TelegramStickersImport — Telegram stickers importing SDK for iOS

TelegramStickersImport — Telegram stickers importing SDK for iOS TelegramStickersImport helps your users import third-party programaticaly created sti

null 35 Oct 26, 2022
Muxer used on top of Feed iOS SDK for airplay

FeedAirplayMuxer Muxer used on top of Feed iOS SDK for airplay purposes. Demo Project --> https://github.com/feedfm/AirplayDemo Feed Airplay Muxer is

Feed Media 0 May 6, 2022
Basispay IOS SDK Version 2

BasisPay-IOS-KIT BasisPay IOS Payment Gateway kit for developers INTRODUCTION This document describes the steps for integrating Basispay online paymen

null 0 Oct 21, 2021
Release repo for Gini Bank SDK for iOS

Gini Bank SDK for iOS The Gini Bank SDK provides components for capturing, reviewing and analyzing photos of invoices and remittance slips. By integra

Gini GmbH 1 Dec 6, 2022
Da Xue Zhang Platform Lvb iOS SDK

Cloud_Lvb_SDK iOS API Reference Dxz Meeting iOS SDK是为 iOS 平台用户音视频服务的开源 SDK。通过大学长开放平台自研RTC,RTM系统,为客户提供质量可靠的音视频服务。 类 类名 描述 CLS_PlatformManager SDK的音视频主要

null 8 Jan 10, 2022
PayPal iOS SDK

PayPal iOS SDK Welcome to PayPal's iOS SDK. This library will help you accept card, PayPal, Venmo, and alternative payment methods in your iOS app. Su

PayPal 25 Dec 14, 2022
Unofficial Notion API SDK for iOS & macOS

NotionSwift Unofficial Notion SDK for iOS & macOS. This is still work in progress version, the module interface might change. API Documentation This l

Wojciech Chojnacki 59 Jan 8, 2023
150,000+ stickers API & SDK for iOS Apps.

English | 한국어 Stipop UI SDK for iOS Stipop SDK provides over 150,000 .png and .gif stickers that can be easily integrated into mobile app chats, comme

Stipop, Inc. 19 Dec 20, 2022
Spotify SDK for iOS

Spotify iOS SDK Overview The Spotify iOS framework allows your application to interact with the Spotify app running in the background on a user's devi

Spotify 522 Jan 6, 2023
Headless iOS/Mac SDK for saving stuff to Pocket.

This SDK is deprecated Howdy all! ?? Thanks for checking out this repo. Your ?? mean a lot to us. ?? Unfortunately, this project is deprecated, and th

Pocket 230 Mar 18, 2022
Evernote Cloud SDK for iOS

Evernote Cloud SDK 3.0 for iOS This is the official Evernote SDK for iOS. To get started, follow the instructions bellow. Additional information can b

Evernote 256 Oct 6, 2022