Screenshots

Beschreibung 

Diese App ermöglicht es mittels Templates, Eintragungen im HEALTH-System im Bereich Achtsamkeit des Telefons vorzunehmen. Dabei steht vor allem die leichte und schnelle Erfassung im Vordergrund. In der Health-App stehen zu diesen Daten dann auch weitere Auswertungen zur Verfügung.

Externer Link zum Appstore: Gute Minuten

Datenschutz

Die Applikation 'Gute Minuten / Good Minutes' speichert die Daten der angelegten Templates in der App. Zusätzlich wird auch die letzte eingefügte ID gespeichert, um die Undo-Funktionalität zu realisieren. Keine dieser Daten wird von der Software aktiv von dem Telefon exportiert. Die Achtsamkeitsdaten werden im Health-System des iPhones abgelegt.

Der Zugriff auf die Erfassungsdaten des Telefones sind nötig, um die Achtsamkeitseinträge einfügen und bei Bedarf löschen zu können.


Description

This App allows a fast adding of mindful minutes samples to the HealthKit - system of the phone. This is realized by using user defined templates.  

External link to Appstore: Good Minutes

Privacy Protection

The Application stores the created templates inside the app. Also the last added id of a sample, to provide the undo-function. None of these data leaves the phone by any processing of the app.

The access to the health kit is needed to add and possibly remove the mindful samples. The samples are stored at the Health-System of the iPhone.

Apps im Backgroundmode

Möchte man mit den BGTask-Sheduler arbeiten so muß die App im Hintergrund aktiv werden und kann schwerlich bei der Aktion überprüft werden. Benötigt man während der Entwicklung eine Rückmeldung über die Abläufe, so bietet sich natürlich OS.LOG an. Allerdings kann es etwas zeitraubend sein, wenn man über die Systemdiagnose vergangene Logs analysieren möchte.

Mit diesem hier beschriebene Tool kann man direkt auf dem Device eine Funktion überprüfen:

App-Groups

Die App-Groups stellen eine Möglichkeit zur Verfügung, um in einem shared Bereich auf Dateien etc gemeinsam von unterschiedlichen Apps aus zuzugreifen. Zusätzlich gibt es auch Shared User Data. Diese macht sich das kleine Programm zur nutze.

Verwendung

  1. Man fügt den UserDataMonitor der selben App-Group, wie das zu überwachende Programm.
  2. Man bindet die Datei 'UserStorageProvider.swift' in sein Projekt ein.
  3. Mit dem unten stehenden Aufruf wird in die Shared User Data geschrieben.
    UserStorageProvider.share.AppendItem("Hello world!")
  4. In der App 'UserDataMonitor' werden diese Einträge dann angezeigt.

Wichtig

Das Tool, die Aufrufe und die Group sollten nach gebrauch wieder entfernt werden. Diese Idee ist nicht für einen Produktiveinsatz sondern lediglich für die Entwicklung gedacht.

Lizenz

MIT-Licence 

Link

Extern: UserDataMonitor on GitHub

Sichtbare und unsichtbare Views

Soll beim erscheinen oder ausblenden eines Views in SwiftUI eine Aktion ausgelöst werden, so kann dies mit den Eventactions .onAppear() oder .onDisappear() geschehen. Dies funktioniert so gut, daß man bei einer Navigation leicht vergißt, daß man sich auch vorwärts zu einem noch folgenden View bewegen könnte. Beide Events werden also gefeuert, wenn ein View erscheint, bzw. ausgeblendet wird. Die Events sind also vielmehr auf den einzelnen View bezogen und nicht auf einen Navigationstree bezogen.

Eine Lösung

In manchen Fällen ist es aber notwendig, daß eine Aktion finalisiert wird, wenn man zum vorherigen View zurückkehrt. Dies läßt sich erreichen, indem man die vorgegebene Navigation abschaltet und den Zurück-Button selbst anlegt:

@Environment(\.presentationMode) var mode: Binding<PresentationMode>
...

.navigationBarBackButtonHidden(true)
.navigationBarItems(leading: Button(action : {
    self.mode.wrappedValue.dismiss()
    self.MyFunction()
}){
    Image(systemName: "arrow.left")
})

Der Nachteil an dieser Lösung ist jedoch, daß man eine Funktion ausschalten muß, die bereits funktioniert und lokalisiert ist.

Eine bessere Lösung

Wenn man die Environment-Variable 'presentationMode' setzt, so wird diese auch bedient, wenn man das navigationBarItem nicht übersteuert. So bietet sich zumindest ab IOS 14 folgende Möglichkeit an:

struct SecondView: View {
    
    @Environment(\.presentationMode) var mode: Binding<PresentationMode>

    private var aDA: ()->Void

    init(afterDismissAction: @escaping ()->Void) {
        self.aDA = afterDismissAction
    }


    var body: some View {
        VStack() {
        /*  STUFF  */
        Text("Hello")
        }
        .onChange(of: self.mode.wrappedValue.isPresented) { value in
            if value == false {
                print("Leaving this View backward")
                self.aDA() // <--- Do the stuff onGoBackward.
            }
        }
    }
}
         
        

Mit der Nutzung des '.presentationMode' und dem onChange-Event, wird eine Veränderung am Design unnötig.

Screenshots

Beschreibung

Diese App bezieht ihre Daten vom RKI per NPGEO Corona Hub 2020. Die Daten werden täglich aktualisiert und für sieben Tage auf dem Telefon abgelegt. Daher kann man die Entwicklung über die sieben Tage verfolgen. Die Infektionszahlen werden auf der Basis der Landkreise dargestellt und es ist möglich für die Startseite eigene Favoriten festzulegen.

Leider ist derzeit eine Veröffentlichung der App nicht möglich, da der App-Store Veröffentlichungen im Bezug auf Corona lediglich Versicherungen, NGOs oder Regierungsbehörden ermöglicht.

Externer Link zum Appstore: Derzeit nicht veröffentlicht.

Externer Link zu GitHub: Covid19Numbers

Datenschutz

Die Applikation "Covid 19 Zahlen" speichert natürlich ihre Favoriten-Auswahl. Außerdem wird die Updatefrequenz gespeichert, um die Serveranfragen zu entlasten. Diese Daten werden auf dem Telefon gespeichert, werden bei einem App-Reset gelöscht. Die Applikation hat keine Funktionalitäten um diese Daten auf entfernte Systeme zu laden. Natürlich fallen Daten auf Seiten des NPGEO Corona Hub 2020 bei einer Aktualisierung an. Diese entsprechen der Form und Art nach einem anonymen Websiteaufruf. Es werden keine eindeutigen Schlüssel oder IDs verwendet. 


Description

This app serves the latest numbers of the Covid 19 infections in Germany. This service is based on the data of the RKI, delivered through NPGEO Corona Hub 2020.

External Link to Appstore: Not published.

External Link to GitHub: Covid19Numbers

Privacy Protection

The Application "Covid 19 Numbers" stores the your selected favorites on the device. There is no programmatically way to of storing this somewhere outside of your phone. If you run an update, then the NPGEO Corona Hub 2020 receives a request like a common website-request without any login.