Giter Site home page Giter Site logo

dp3t-app-ios-demo's Introduction

DP3T iOS Demo App

Swift Package Manager compatible License: MPL 2.0 build

DP3T

The Decentralised Privacy-Preserving Proximity Tracing (DP-3T) project is an open protocol for COVID-19 proximity tracing using Bluetooth Low Energy functionality on mobile devices that ensures personal data and computation stays entirely on an individual's phone. It was produced by a core team of over 25 scientists and academic researchers from across Europe. It has also been scrutinized and improved by the wider community.

DP-3T is a free-standing effort started at EPFL and ETHZ that produced this protocol and that is implementing it in an open-sourced app and server.

Introduction

This is a COVID-19 tracing demo client using the DP3T iOS SDK. It shows how the SDK can be used in a real, but simplified app. For a more complete solution, check the DP3T iOS App Switzerland, which also contains certificate pinning and other additional security features.

Contribution Guide

The DP3T App is not yet complete. It has not yet been reviewed or audited for security and compatibility. We are both continuing the development and have started a security review. This project is truly open-source and we welcome any feedback on the code regarding both the implementation and security aspects.

Bugs or potential problems should be reported using Github issues. We welcome all pull requests that improve the quality the source code or the demo app itself.

Repositories

Further Documentation

The full set of documents for DP3T is at https://github.com/DP-3T/documents. Please refer to the technical documents and whitepapers for a description of the implementation.

Installation and Building

The project should be opened with the latest Xcode versions, 11.4. Dependencies are managed with Swift Package Manager, no further setup is needed. If you're not in the Ubique Innovation AG team, you should choose your own team in Signing & Capabilities.

License

This project is licensed under the terms of the MPL 2 license. See the LICENSE file.

dp3t-app-ios-demo's People

Contributors

choli avatar darthpelo avatar maerki avatar mangerlahn avatar ubaggeler avatar zegorax avatar zimmermannubique avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dp3t-app-ios-demo's Issues

Reset SDK button throws error

I can connect to DB and Report Infected but when I am tryin to 'Reset SDK' this error appear

Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value: file /Users/macos/Library/Developer/Xcode/DerivedData/DP3TApp-bhmewwnvhiaverfsjevavuskjnqq/SourcePackages/checkouts/dp3t-sdk-ios/Sources/DP3TSDK_CALIBRATION/DP3TTracing.swift, line 183

Add Contact counter

I think It would be nice to Show a Counter to indicate the number of close contacts.

A over the Last 21 days
B as per day

It could get User Award how much the Exposé

'Send' button is not visible under 'Inform Now'

Using an (old) iPhone SE (not the 2020 model), the 'Send' button under 'Inform Now' is not visible.
Nothing happens if I press 'Enter' on the keyboard, too.

Testflight-Version 200416.2216.153, on an iPhone SE with iOS 13.4.5.
IMG_3905

Problematic Class Prefix?

Since the project is called "Next Step", the NS class prefix seems like an intuitive choice. However this prefix is also used by Apple itself throughout the Foundation framework.

Having classes with the same name is problematic, especially if Objective-C code has to be integrated in any form into this project.
Since name spaces exist in Swift, this is not an immediate problem, but still, it could become a problem.
I found it also quite confusing to find custom NS* classes in the project, as this prefix is basically reserved for Apple's classes. There is even a class that is called NSDateFormatter, a class that actually exists in Foundation.

I suggest using the UB prefix on all classes throughout the project, or remove the prefix altogether.

Happy to hear your thoughts on this.

Tracing not active

The current version of NextStep from TestFlight showed today that tracing is not active. Bluetooth was active and tracing was activated the day before and not manually deactivated afterwards. After switching to the NextStep app again, tracing was active again.

TracingNotActive
SettingsBluetoothEnabled

Problem with real device

Thanks for al your effort. I hope, the following helps.
Yesterday I downloaded the demo app sources and imported it into Xcode.
The source build is 20200414.854.3.
Xcode version is 11.4.1
The test iPhone is iPhoneXS with iOS 13.4

I found the following issues:

  1. You've implemented -[ application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
    Add remote-notification to the capabilities solved the problem.

  2. Several minor layout constraint problems with Snapkit.

  3. SSL error because of the self signed certificate "<cert(0x1038b2a00) s: Kubernetes Ingress Controller Fake Certificate i: Kubernetes Ingress Controller Fake Certificate>"

  4. More important constant " [CoreBluetooth] XPC connection invalid" errors. It happens in NSTracingManager.beginUpdatesAndTracing at updateStatus

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.