ProteGO Safe iOS App

Related tags

SwiftUI App ios
Overview

ProteGO Safe iOS App

Logo

Project overview

This is an iOS application for ProteGO Safe project and it implements two main features:

  • User daily triage
  • Contact tracing - module that is fully based on Exposure Notification API provided by Google and Apple and it's goal is to inform people of potential exposure to COVID-19.

Application is structured based MVVM-C pattern, where presentation (UI) layer is almost fully realized with a single UIViewController with a WKWebView that loads a website application called 'PWA' (Progressive Web App). PWA is responsible for GUI, user interaction and 'User daily triage' feature. Website app interacts with native code through the JavaScript bridge.

App implements contact tracing module that is based on Exposure Notification API (EN) and we can extract couple of features related to this:

  • Controlling EN: enable/disable, check if device supports it, check what is its state
  • Uploading Temporary Exposure Keys (TEKs) of positively diagnosed user verified by the application: authorize user for TEKs upload, get TEKs from EN, add proper verification data (using DeviceCheck Framework), upload data to the Cloud Server.
  • Downloading periodically files with batch of TEKs of positively diagnosed users (that recently uploaded their TEKs): execute periodic task responsible for downloading recently created .zip files (it fetches list of available files from CDN, selects only not yet analyzed files and downloads only these ones)
  • Providing files to EN API for detecting exposures: get proper configuration for risk calculation (Exposure Configuration), fire EN API with list of downloaded files and configuration, delete analyzed files
  • Receiving information about detected exposures: register broadcast receiver about exposures, get information about exposures, store part of information (day of exposure, risk score and duration that is in 5 minutes intervals but max 30 minutes)
  • Reporting risk level to the PWA: extract risk scores of saved exposures and calculate risk level, pass risk level to PWA
  • Removing historical data: remove information about exposures older than 14 days

Project modules

  • App - contains classes related to app's life cycle
  • Common - contains app's extensions, helpers etc.
  • Components/PWA - module containing classes responsible for managing PWA's logic
  • DependencyContainer - contains DI implementation, including factories for PWA and app's services
  • Networking - implementation of app's networking logic, based on Moya framework
  • Resources - module containing app's assets, entitlements and configuration files
  • Services - module containing majority of apps business logic. Services are described in more detail in services overview section

Services overview

  • AppManager - service which holds info about app's first launch
  • ConfigManager - service that provides a proper configuration based on currently used environment (Dev/Stage/Live)
  • DeviceCheckService - service responsible for providing a valid verification payload for uploaded TEKs
  • KeychainService - service responsible for managing Keychain related activities
  • NotificationManager - service responsible for managing push notification related activities
  • StoredDefaults - service managing logic related to UserDefaults
  • ServiceStatusManager - service that gathers data about statuses of permissions and states of Notifications and Exposure Notification services
  • BackgroundTasksService - service which is responsible for scheduling backround tasks in the app. Each background task is meant to perform an exposure detection, based on periodically downloaded TEKs
  • DiagnosisKeysDownloadService - service responsible for downloading TEKs from the server
  • DiagnosisKeysUploadService - service responsible for uploading TEKs to the server
  • ExposureService - service responsible for implementing exposure detection part of Exposure Notification API
  • ExposureSummaryService - service responsible for providing information about potential exposure risk

Environments

Application has 3 different environments: Dev, Stage and Live.

Each environment has different configuration files - they are respectively divided in safesafe/Resources directory. Each environment uses:

  • [env].entitlements file
  • Config-[env].plist file, which contains appropriate PWA links and (legacy) BlueTrace configurations
  • [env].xcconfig and [env]Dist.xcconfig Xcode config files
  • GoogleService-Info-[env].plist files (those names are modified in one of build scripts, so that for compilation phase file's name is changed to GoogleService-Info.plist)

There are two build configurations for each environment: debug and release

Initial setup

Make sure you have CocoaPods and XcodeGen already installed.

To setup the project, proceed with following steps:

  1. Open terminal and go to project's directory
  2. Run xcodegen generate to generate .xcodeproj file
  3. Run pod install to install necessary dependencies and generate .xcworkspace file

For convenience, there's a rebuild.sh script which performs actions mentioned above. Aditionally, it let's you select Xcode that you want to use to open the project (if you have multiple Xcode versions on your machine). To launch it, type sh rebuild.sh in your console.

ChangeLog

4.13.0

  • Updated UI
  • Added handling deeplinks
  • Added handling redirect to sms

4.12.0

  • Disabled DeviceCheck for lab test
  • Updated UI

4.11.0

  • Updated UI

4.10.0

  • Added new file storage method
  • Split current JSON data to multiple smaller data files to prevent over downloading unwanted data
  • Enhanced view of the app home screen, which now includes more detailed statistics on vaccination and infections
  • New screen with detailed statistics and graphs on vaccination (number of people vaccinated, doses, adverse reactions) and infections (number of people infected, recovered, deaths, causes of death and tests)
  • Added information on vaccination and registration rules with redirection to registration, vaccination request and helpline

4.9.1

  • Added Vaccination stats to dashboard

4.9.0

  • Added COVID daily stats
  • Added subscription for COVID daily stats push notifications
  • Added ability to unsubscribe from daily COVID stats push notification
  • Added localized push notifications
  • Added push notifications history
  • Added deep linking for push notifications
  • Added Universal Links for deep linking
  • Added local notifications (aka Districts Info) to notifications history
  • Removed passing push notification payload to UI (aka PWA)
  • Added Exposure Notificaticarion stats (keys count, analyze history, risk check)
  • Added Simulate Risk CHeck to Debug Panel
  • Added fetching CDN keys to Debug Panel
  • Changed the way of triggering to show Debug Panel in Stage builds (use shake gesture)

4.8.0

  • Added ability for manual delete exposure risk info

4.7.1

  • Bump iOS version availability for some log methods
  • Clear exposure risk info on demand

4.7.0

  • Omit package analysis on very first app run
  • Added ability for sign-in for covid-19 test
  • Added js contract for high risk and covid-19 test
  • Added simulate exposure risk to debug panel

4.6.0

  • Added restricted districts feature
  • Added subscribing for notification for restricted districts
  • Small fixes for JS contract
  • Added ability to test districts changes notification to debug panel
  • Translations update
  • Fix for manage max exposure notifications key amount per day
  • Remove debug logging from iOS < 13.5

4.5.0

  • Manage user diagnosis keys share rejection
  • Prevents url requests caching
  • Added webkit local storage dump for debug panel in stage builds
  • Translations update
  • Fix for language reset on data erase
  • Added PWA to .gitignore file according to download it on CI/CD

4.4.0

  • Added translations for English and Ukrainian languages
  • Ability of change language in app runtime
  • Fix for multiple language managing
  • Fix for "no internet" alert on keys upload
  • Fix for disclaimer and contrib file
  • Remove redundant data logging

4.3.1

  • Fix for incorrect date display for entries in Health Journal in PWA

4.3.0

  • In code multilanguage support (no UI yet)
  • Added validation for diagnosis keys upload
  • Added debug panel for sharing uploaded payloads and logs
  • Removed device check from uploaded payloads

4.2.4

  • Changed telephone number and email
  • Changed text copy on an onboarding view
  • Removed some tips
  • Added properties ENDeveloperRegion and ENAPIVersion to Info.plist for iOS 14

4.2.3

  • Passing app version to PWA
  • Updated certificates for pinning
  • Updated Privacy Policy URL in appstore

4.2.2

  • Fix for disabling of screen recording
  • Replaced all fatalError and assertionFailure due to storing full user paths in binary file

4.2.1

  • Manage large Diagnosis Keys batches
  • Refactored keys upload process
  • Bug fixes

4.2.0

  • Removed online PWA
  • Added PWA as a part of app code (offline)
  • Bug fixes

4.1.1

  • Added Exposure Notification API
  • Added Background Download Task For Exposure Notification
  • Added Support For Exposure Notification Incompatible Devices
  • Added Content Hider for App Switcher
  • Added Open Trace Stored Data Remover
  • Simplified Onboarding
  • Simplified Assesment Risk Test
  • Icreased App Security
  • Removed Open Trace Code

3.0.2

  • Manage project settings with yml config files - XcodeGen added
  • Debug console added for Stage and Dev configs
  • Moved anonymous signIn to Firebase on app start
  • Added custom Config.plist for every xcode configuration
  • Disabled app idle timer
  • Pass notification payload to webkit UI
  • Fix for refreshing BlueTrace Temp ID
  • Fix for deleting data from device
  • Add GPL LICENSE file

3.0.1

  • Added OpenTrace module for collecting BLE contacts

2.0.1

  • Basic version with PWA, and notifications
Comments
  • Brak możliwości skonfigurowania powiadomień na iOS 14.1

    Brak możliwości skonfigurowania powiadomień na iOS 14.1

    W dniu dzisiejszym wykonałem świeżą instalację aplikacji na iOS 14.1 (wersja finalna) na iPhone XR.

    Ustawienia powiadomień COVID w iOS wyczyszczone. Dane aplikacji ProteGO usunięte i aplikacja również. Następnie świeża instalacja aplikacji i w momencie włączenia funkcji powiadomień w systemie apka przechodzi do systemowych powiadomień o COVID (API iOS) i po przejściu do tego ekranu jest on pusty… Nie da się nic wybrać. Próbowałem w drugą stronę, czyli wybrać z systemu Polskę jako kraj powiadomień i iOS przekierowuje do Appstore i sugeruje instalację ProteGO. Tym samym nie da się obecnie poprawnie dokończyć instalacji aplikacji i używania powiadomień i wymiany informacji via Bluetooth.

    Screeny (na czerwono miejsca, w które klikam): IMG_1839

    IMG_1840

    IMG_1841

    I na koniec: IMG_1842

    opened by awbnet 15
  • Exposure log was not checked since almost a week

    Exposure log was not checked since almost a week

    Describe the bug My exposure log was not checked since almost a week.

    Expected behavior I thought that my exposure log will be checked every 24h.

    Screenshots image image image

    Smartphone (please complete the following information):

    • Device: iPhone XS
    • OS: iOS 13.5.1
    • Version 4.2.0
    • my device has internet connection and it wasn’t in the battery saving mode
    opened by kamil-gwozdz 10
  • Powiadomienie o możliwym kontakcie z koronawirusem jest wyłączone i nie da się włączyć

    Powiadomienie o możliwym kontakcie z koronawirusem jest wyłączone i nie da się włączyć

    iOS14 Aplikacja przestała działać po wtorkowym update, (brak połączenia z Apple coronavirus API, czerwony przycisk włącz powiadomienia o koronawirusie przestał działać, ale też przy pytaniu o zwykłe powiadomienia przy pierwszym uruchomieniu nie dało się wcisnąć dalej) Wydaje mi się że w poniedziałek już na iOS 14 jeszcze mi działało

    opened by duszekjk 7
  • Add English Localization

    Add English Localization

    As there are many foreigners living in Poland it would be a good idea to have English localization available in the app. Even if most contents from Government won’t be translated the general app information and questionnaire should be possible to do in English.

    opened by silvetti 5
  • Generowanie pliku .xcworkspace

    Generowanie pliku .xcworkspace

    Opis prozypozycji rozwiązania

    Projekt, nad którym pracuje kilka osób w tym samym czasie powoduje wiele problemów podczas merge kilku równoległych PR. Konflikty najczęściej dotyczą plików projektowych, w tym przypadku .xcworkspace

    Opis alternatywnych rozwiązań

    Proponuję użycie jednego z narzędzi:

    • https://github.com/yonaskolb/XcodeGen
    • https://github.com/tuist/tuist

    Dodatkowe informacje

    Jeśli uważacie to za dobre rozwiązanie, mogę się tym zająć

    opened by leszko11 5
  • Walidacja numeru telefonu

    Walidacja numeru telefonu

    [WIP] Fix #54 Cześć! Dodałem prosty mechanizm walidacji z testami do #54. Nie do końca wiem jak powinno wyglądać przedstawienie tego na UI, dlatego zostawiam 2 TODO

    opened by leszko11 5
  • Usprawniony stos BLE dostosowany do nowych wymagań

    Usprawniony stos BLE dostosowany do nowych wymagań

    • Połączenie delegatur klasy Scanner oraz Advertiser w jeden byt BeaconIdAgent ze względu na możliwość otrzymywania BeaconId przez Advertiser
    • Skanowanie i rozgłaszanie się działa przez cały czas gdy aplikacja jest włączona
    • Skanowanie i rozgłaszanie działa przemiennie gdy aplikacja jest w tle.
    • Dodanie opcji konfiguracyjnych do Tweaks menu.
    • Dodanie opcji odbierania BeaconId przez Advertiser
    • Dodanie pomocniczych typów BeaconId oraz ExpiringBeaconId
    • Rozbicie implementacji miedzy BleScanner, Device oraz DeviceState
    • Dodanie pomocniczych klas DeviceEvent oraz DeviceEffect.
    • Dodanie rozszerzenia do klasy Date umożliwiającego wypisywanie wartości w systemie szesnastkowym.
    opened by Cierpliwy 4
  • Aplikacja nie działa na iOS 15

    Aplikacja nie działa na iOS 15

    Describe the bug Zamiast aplikacji wyświetla się jedynie biały ekran. To Reproduce Po wstępnej konfiguracji pojawia się biały ekran. Następnie aplikacja staje się nieużywalna. Current behavior Po uruchomieniu wyświetla się biały ekran. Expected behavior Po uruchomieniu wyświetla się ekran główny aplikacji. Screenshots Biały ekran (nie wymaga screenshot'a) Smartphone:

    • Device model: iPhone 11
    • OS: iOS 15 Developer Beta 3
    opened by Capure 3
  • "Nickname is too short"

    Is your feature request related to a problem? Please describe. I wanted to add a one letter nickname and the app didn't allow me to do so.

    Describe the solution you'd like One letter nicknames should be allowed.

    Describe alternatives you've considered Well, I can always add a longer nickname as I think it is basically meaningless but the limitation doesn't make any sense from the user's perspective.

    UX 
    opened by mwysokin 3
  • Aplikacja nie działa na iOS 14, zgłasza że system jest za stary.

    Aplikacja nie działa na iOS 14, zgłasza że system jest za stary.

    J.w. Skoro Ministerstwo Cyfryzacji wydało aplikacje, to musi mieć dostęp do chociaż jednego konta deweloperskiego Apple. Moim zdaniem to jest bardzo dobry pomysł żeby devteam zainstalował chociaż na jednym urządzeniu tą betę i to załatał zanim Apple zacznie wydawać te aktualizacje i aplikacja nie będzie działać u obywateli.

    opened by ddomino007 3
  • Uzupełnienie README oraz poprawki konfiguracji

    Uzupełnienie README oraz poprawki konfiguracji

    Chcąc skompilować lokalnie projekt natknąłem się na kilka drobnostek, które poprawiłem dla ułatwienia pracy innym developerom. Proponowane zmiany:

    • Opisano początkową procedurę konfiguracji projektu w README.md.
    • Dodano gem Cocoadods do Gemfile.
    • Dodano .ruby-version (ułatwia życie użytkownikom menadżerów wersji Ruby).
    • Usunięto błędne wpisy z pliku project.pbxproj.

    Niektóre z problemów na jakie się natknąłem, poprawiane przez ten PR.

    • Brak zdefiniowanej wersji Cocoapods:
    Screenshot 2020-04-04 at 14 15 32
    • Błędne wpisy z pliku project.pbxproj:
    Screenshot 2020-04-04 at 15 12 10
    opened by bejo 3
  • Incorrect Vaccination Data

    Incorrect Vaccination Data

    App is displaying incorrect vaccination data, it seems to be including 3rd dose and/or booster shots into the 1st dose of vaccination. Today is shows 199 thousand 1st vaccinations, which we all know is incorrect according to Min Zdrowia data.

    help wanted 
    opened by silvetti 2
  • Dodanie informacji o III dawce szczepienia

    Dodanie informacji o III dawce szczepienia

    Kiedy zostanie dodana w aplikacji informacja dotycząca trzeciej dawki szczepienia? Obecnie wchodząc do "Wykonane szczepienia" a następnie "Dawki" widocznie są statystyki na temat pierwszej i drugiej dawki, bez trzeciej. v 4.13.0 (powiązane - https://github.com/ProteGO-Safe/android/issues/178)

    help wanted 
    opened by olekstomek 1
  • Aplikacja nie zmienia swojego stanu po wykryciu kontaktu z wirusem oraz tworzy dwujęzyczne powiadomienia

    Aplikacja nie zmienia swojego stanu po wykryciu kontaktu z wirusem oraz tworzy dwujęzyczne powiadomienia

    Describe the bug:

    1. Aplikacja nie wykazuje, żadnej zmiany mimo wykrycia kontaktu z osobą zakażoną. Jedynie powiadomienia informują o takim kontakcie "Possible COVID-19 Exposure | STOP COVID - ProteGO Safe analizuje informacje o spotkaniach z innymi urządzeniami.. The app has accessed the date, duration and signal strmnght of this exposure."
    2. Powiadomienie na telefonie z językiem angielskim tworzy powiadomienie dwujęzyczne, które wygląda okropnie.

    To Reproduce:

    1. N/A
    2. Zmienić język urządzenia na "English (US)/(UK)", region może zostać Polski.

    Current behavior: 1 .W Ustawieniach w zakładce Exposure Notifications -> Exposure Checks - Matched Key Count jest większe od 0 (Zazwyczaj 1, max. 2). Powiadomienie informuje o możliwym zakażeniu, jednak aplikacja wskazuje na to, że wszystko jest w porządku. Na Androidzie nie występuje taki problem. 2. Powiadomienie o zakażeniu jest w mieszanką dwujęzyczną.

    Expected behavior

    1. Aplikacja powinna zareagować zgodnie ze stanem faktycznym, czyli wykazywać na ekranie głównym alert o kontakcie.
    2. Powiadomienie powinno być w jednym języku, zgodnym z językiem ustawionym w aplikacji.

    Screenshots: 1. app matched key 2. notification

    Smartphone:

    • Device model: iPhone 11 Pro
    • OS: iOS 14.4.2 (18D70)
    • App version: 4.11.0
    help wanted 
    opened by BLACKTHOMAS 3
  • Aplikacja nie działa na iOS 12.5.1

    Aplikacja nie działa na iOS 12.5.1

    Describe the bug Aplikacja nie działa na iOS 12.5.1 mimo ze Apple wprowadził do niej exposure notification.

    To Reproduce Steps to reproduce the behavior: N/A Current behavior Aplikacja wyswietla notyfikacje ze znajduje sie w trybie offline i trzeba uruchomic moduł BT, (moduł BT jest uruchomiony) a aplikacja pozostaje w trybie offline Expected behavior Aplikacja będzie współpracowała z iOS 12.5.1. Screenshots N/A Smartphone (please complete the following information):

    • Device model: iPhone 6
    • OS: iOS 12.5.1 Additional context N/A
    opened by Buzzraider 1
  • No option to read the full notification

    No option to read the full notification

    Describe the bug I received the notification that I was exposured... i click on the notification, it goes to the app but no more text or history of notyfications is available. So if accidentaly I will clear my notyfications I will not know that I am „in danger”.

    Expected behavior A new tab with notyfications history, to be able to see them and read them. Screenshots The notyfications was available here: 5EDB8EB9-1865-454E-BF85-47AC4341CBA5

    Smartphone (please complete the following information):

    • Device model: iPhone SE -2nd gen
    • OS:1 iOS 14.0.1 Additional context I think that this user (M4g3r) has the same issue EFD30260-3DFC-4BFA-B565-0665EC16E024
    opened by Ola-ios 4
Releases(4.13.0)
  • 4.13.0(Sep 17, 2021)

  • 4.12.0(Jun 11, 2021)

  • 4.11.0(Apr 7, 2021)

  • 4.10.0(Mar 30, 2021)

    4.10.0

    • Added new file storage method
    • Split current JSON data to multiple smaller data files to prevent over downloading unwanted data
    • Enhanced view of the app home screen, which now includes more detailed statistics on vaccination and infections
    • New screen with detailed statistics and graphs on vaccination (number of people vaccinated, doses, adverse reactions) and infections (number of people infected, recovered, deaths, causes of death and tests)
    • Added information on vaccination and registration rules with redirection to registration, vaccination request and helpline
    Source code(tar.gz)
    Source code(zip)
  • 4.9.1(Mar 1, 2021)

  • 4.9.0(Jan 4, 2021)

    • Added COVID daily stats
    • Added subscription for COVID daily stats push notifications
    • Added ability to unsubscribe from daily COVID stats push notification
    • Added localized push notifications
    • Added push notifications history
    • Added deep linking for push notifications
    • Added Universal Links for deep linking
    • Added local notifications (aka Districts Info) to notifications history
    • Removed passing push notification payload to UI (aka PWA)
    • Added Exposure Notificaticarion stats (keys count, analyze history, risk check)
    • Added Simulate Risk CHeck to Debug Panel
    • Added fetching CDN keys to Debug Panel
    • Changed the way of triggering to show Debug Panel in Stage builds (use shake gesture)
    Source code(tar.gz)
    Source code(zip)
  • 4.8.0(Nov 24, 2020)

  • 4.7.1(Nov 12, 2020)

  • 4.7.0(Oct 30, 2020)

    • Omit package analysis on very first app run
    • Added ability for sign-in for covid-19 test
    • Added js contract for high risk and covid-19 test
    • Added simulate exposure risk to debug panel
    Source code(tar.gz)
    Source code(zip)
  • 4.6.0(Oct 25, 2020)

    • Added restricted districts feature
    • Added subscribing for notification for restricted districts
    • Small fixes for JS contract
    • Added ability to test districts changes notification to debug panel
    • Translations update
    • Fix for manage max exposure notifications key amount per day
    • Remove debug logging from iOS < 13.5
    Source code(tar.gz)
    Source code(zip)
  • 4.5.0(Oct 20, 2020)

    • Manage user diagnosis keys share rejection
    • Prevents url requests caching
    • Added webkit local storage dump for debug panel in stage builds
    • Translations update
    • Fix for language reset on data erase
    • Added PWA to .gitignore file according to download it on CI/CD
    Source code(tar.gz)
    Source code(zip)
  • 4.4.0(Sep 22, 2020)

    • Added translations for English and Ukrainian languages
    • Ability of change language in app runtime
    • Fix for multiple language managing
    • Fix for "no internet" alert on keys upload
    • Fix for disclaimer and contrib file
    • Remove redundant data logging
    Source code(tar.gz)
    Source code(zip)
  • 4.3.1(Sep 11, 2020)

  • 4.3.0(Sep 8, 2020)

    • In code multilanguage support (no UI yet)
    • Added validation for diagnosis keys upload
    • Added debug panel for sharing uploaded payloads and logs
    • Removed device check from uploaded payloads
    Source code(tar.gz)
    Source code(zip)
  • 4.2.4(Aug 19, 2020)

    • Changed telephone number and email
    • Changed text copy on an onboarding view
    • Removed some tips
    • Added properties ENDeveloperRegion and ENAPIVersion to Info.plist for iOS 14
    Source code(tar.gz)
    Source code(zip)
  • 4.2.3(Jul 31, 2020)

  • 4.2.2(Jul 29, 2020)

  • 4.2.1(Jul 8, 2020)

  • 4.2.0(Jun 24, 2020)

  • 3.0.2(May 5, 2020)

    • Manage project settings with yml config files - XcodeGen added
    • Debug console added for Stage and Dev configs
    • Moved anonymous signIn to Firebase on app start
    • Added custom Config.plist for every xcode configuration
    • Disabled app idle timer
    • Pass notification payload to webkit UI
    • Fix for refreshing BlueTrace Temp ID
    • Fix for deleting data from device
    • Add GPL LICENSE file
    Source code(tar.gz)
    Source code(zip)
  • 1.0.33(Apr 3, 2020)

Owner
STOP COVID - ProteGO Safe
STOP COVID - ProteGO Safe
COVID Safe Paths (based on Private Kit) is an open and privacy preserving system to use personal information to battle COVID

COVID Safe Paths is a mobile app for digital contract tracing (DCT) sponsored by Path Check a nonprofit and developed by a growing global community of engineers, designers, and contributors. Safe Paths is based on research originally conducted at the MIT Media Lab.

PathCheck Foundation 470 Nov 6, 2022
A type-safe auto-generated Swift wrapper around fluentui-emoji

fluentui-emoji.swift A type-safe auto-generated Swift wrapper around fluentui-emoji. Usage Requirements iOS 13+ macOS 10.15+ tvOS 13+ watchOS 6+ Insta

Yubo Qin 11 Dec 27, 2022
Todo is an iOS App written in Swift. This app is used for an online video training course. This app demonstrates how to use UITableViewController.

Todo Todo is an iOS App written in Swift. This app is used for an online video training course. This app demonstrates how to use UITableViewController

Jake Lin 273 Dec 29, 2022
In this mini app covered the concepts like basics of SwiftUI and Navigations and Animations and List with CRUD functions and MVVM and App Launch and App icons adding and also applied persistence using UserDefaults Concept.

TodoList In this application used the concepts from the beginner level project of SwiftUI_Evolve_1 The following concepts covered in this mini app Swi

Sivaram Yadav 2 Dec 4, 2021
NetFun-ios-app - iOS app using BFF service to display processed data.

NetFun-ios-app iOS app using BFF service to display processed data. The iOS demo developed in SwiftUI and it uses BFF service to show expected UI comp

Minhaz Panara 0 Jan 3, 2022
Porting the example app from our Advanced iOS App Architecture book from UIKit to SwiftUI.

SwiftUI example app: Koober We're porting the example app from our Advanced iOS App Architecture book from UIKit to SwiftUI and we are sharing the cod

raywenderlich 55 Dec 19, 2022
SwiftUI App to view the App Activity Record from iOS 15

App Activity Viewer A viewer for the iOS 15 "Record App Activity" export. FAQ How do I create an App Activity Report? Go to the "Settings" app of your

Jannik Arndt 13 Nov 16, 2022
iOS app for Ribbit, Broker API Reference App

Ribbit Reference Implementation (iOS) The reference implementation for designing the iOS user interface of a broker-dealer trading application with th

Alpaca 23 Dec 14, 2022
The app provides additional actions for the Shortcuts app on macOS and iOS.

Actions Supercharge your shortcuts The app provides additional actions for the Shortcuts app on macOS and iOS. Submit action idea (Submit an issue bef

Sindre Sorhus 1.2k Dec 29, 2022
A todo list iOS app developed with swift5 and coredata to persist data, this app help people organise their tasks on categories.

A todo list iOS app developed with swift5 and coredata to persist data, this app help people organise their tasks on categories. The app is simple, intuitive, and easy to use and update tasks informations.

null 1 Oct 10, 2022
The app demonstrates how to use Firebase in a SwiftUI iOS app

Firebase SwiftUIDemo app This app demonstrates how to use Firebase in a SwiftUI iOS app. Firebase Setup Go to firebase.com Click new project. Copy app

Andrew Gholson 0 Nov 28, 2021
An iOS app that visually clones Spotify's app and consumes the official Spotify's Web API to show(and play) songs, podcasts, artists and more.

SpotifyClone An iOS app that visually clones Spotify's app and consumes the official Spotify's Web API to show(and play) songs, podcasts, artists and

Gabriel Denoni 11 Dec 27, 2021
IOS-Quiz-App- - A trivia quiz app built with Swift using MVC structure

Quiz App A trivia quiz app built with Swift using MVC structure. Default Quiz

null 0 Feb 25, 2022
Ios-weather-app - A simple weather app with swift

AHOY Assignment Weather app Main Screen Settings Architecture The Architecture u

null 0 Jan 29, 2022
Marvel-App - Marvel App For iOS Using Swift

App Previews Home Screen Detail View Features Async await UICollectionViewCompos

null 0 Feb 14, 2022
Small app trying to recreate the Github's repos section from the iOS app with RxSwift and .nibs

Github Profile Repos Small app trying to recreate the Github's repos section from the iOS app with RxSwift and .nibs. This project is currently in pro

Leonardo 1 Apr 5, 2022
An IOS app that shows big 6 different animals from different National Parks from Africa, App available for mactosh

An IOS app that shows big 6 different animals from different National Parks from Africa, App available for mactosh. Africa was developed using SwiftUI

wykee2 2 Apr 2, 2022
This To-Do app was developed using Swift and SwiftUI and works on iOS, MacOS (Apple Silicon) and WatchOS. The tasks are kept on storage even when the app is restarted.

ToDo-SwiftUI This app has a lot of sentimental value for me, given that it helped me a lot to understand the process of doing an iOS app and became th

Augusto Galindo Ali 6 Jul 12, 2022
Booky heavily-commented demo app built to explore Apple's new 'App Intents' framework introduced in iOS 16

Booky Demo App ℹ️ ABOUT Booky is a work-in-progress, heavily-commented demo app built to explore Apple's new 'App Intents' framework introduced in iOS

Alex Hay 77 Jan 4, 2023