de Ben Church

Cum să citiți și să scrieți Mindful Minutes din HealthKit pentru iOS cu Swift

Mi-am făcut timp să-mi dau seama cum să citesc și să scriu din HealthKit, astfel încât să nu fie nevoie!

Cum sa cititi si sa scrieti Mindful Minutes din iOS
Permiteți-mi să vă arăt ce face greu de găsit Apple?

Îmi place absolut traseul pe care Apple l-a urmat cu SDK-urile lor iOS. (Hardware-ul lor nu atât de mult). Apple concentrați-vă pe securitate i-a permis să devină o companie de încredere în care să aibă încredere în informațiile dvs. sensibile. Acest lucru a permis iPhone-urilor să facă progrese ca dispozitivul cel mai potrivit pentru a găzdui date medicale. Prin urmare, sunt, de asemenea, cel mai bun dispozitiv pentru a crea software care se interfață cu informațiile personale sensibile ale unui utilizator.

Având în vedere acest lucru, cred că este esențial să știm cum să citim și să scriem din HealthKit-ul Apple, astfel încât noi, ca dezvoltatori, să putem folosi poziția pe care Apple și-a pus-o. Deci, tutorialul de astăzi se va concentra asupra Citirea și scrierea Minutelor conștiente din HealthKit-ul Apple.

La sfârșitul acestui tutorial, veți fi învățat cum să:

  • Configurați o aplicație de bază pentru iOS
  • Solicitați permisiunea de a citi și scrie date de la HealthKit
  • Citiți și interogați date din HealthKit
  • Scrieți datele înapoi în HealthKit

Bine, să trecem la configurarea proiectului XCode. ?

Configurați scheletul

Fiecare proiect minunat începe de la același ecran (dacă doar căutați cod, puteți sări peste această secțiune).

1. Creați un proiect nou

Să începem acest lucru creând un nou Aplicație cu vizualizare unică proiect în XCode.

1611491766 48 Cum sa cititi si sa scrieti Mindful Minutes din iOS
Începeți accesând Fișier> Nou > Project
1611491767 955 Cum sa cititi si sa scrieti Mindful Minutes din iOS
Ar trebui să puteți lăsa toate acestea la fel, cu excepția numelui meu.

2. Includeți HealthKit

Odată ce am creat proiectul, trebuie să le grupăm HealthKit cu aplicația noastră:

1611491767 308 Cum sa cititi si sa scrieti Mindful Minutes din iOS
Includeți HealthKit în aplicația noastră

și actualizați fișierul info.plist fișier pentru a conține ceea ce va vedea utilizatorul când îi cerem permisiunea de a-și accesa datele.

1611491767 596 Cum sa cititi si sa scrieti Mindful Minutes din iOS
Trebuie să editați codul sursă al acestui fișier.

Adăugați următoarele xml la info.plist fişier:

3. Creați o interfață de utilizare de bază

Pentru a finaliza configurarea, vom dori să creăm o interfață UI simplă care să ne permită să vizualizăm datele pe care le-am citit din HealthKit și oferă o acțiune care ne va permite să declanșăm o scriere înapoi la HealthKit.

Începeți prin deschiderea storyboard și:

  1. Adăugați o etichetă și conectați-o la ViewController.swift fișier sub numele mindfulMinuteLabel
  2. Adăugați un buton și conectați-l la un Action în ViewController.swift fișier intitulat addMinuteAct
Cum sa cititi si sa scrieti Mindful Minutes din iOS
Crearea interfeței noastre de utilizare

Respiră ceva viață în el …

Acum, că am pus infrastructura la loc, este timpul să scriem logica cu care se va face toată interfața HealthKit despre care am vorbit.

1. Solicitați permisiunea

Fiecare HealthKit aplicația trebuie să solicite în mod explicit permisiunea unui utilizator pentru fiecare tip de citire și scriere pe care trebuie să o facă. Pentru a realiza acest lucru, vrem să întrebăm mai departe viewDidLoad pentru permisiunea de a citi Mindful Sessions și pentru permisiunea de a scrie Mindful Sessions.

Acum, când aplicația este rulată, ar trebui să vi se solicite ecranul de mai jos.

Dacă rulați acest lucru chiar acum, veți dori să comentați self.retrieveMindfulMinutes()

1611491770 994 Cum sa cititi si sa scrieti Mindful Minutes din iOS
Ecranul nostru de permisiuni

2. Citirea procesului verbal atent

Până în prezent, acest lucru a fost foarte simplu: creați interfața de utilizare, cereți permisiunea. În continuare vom intra în lectură din HealthKit. În timp ce Apple ne oferă o interfață de utilizare puternică, nu este neapărat intuitivă. Așadar, voi începe prin a vă arăta codul și apoi îl voi explica după.

Interogarea pe care o executăm pentru a ne recupera sesiunile Mindful poate fi împărțită în patru componente:

1. Sortați după data de încheiere

1611491771 234 Cum sa cititi si sa scrieti Mindful Minutes din iOS
Obțineți cele mai recente sesiuni

Prima secțiune a acestui cod este opțională, dar utilă de știut. Ceea ce facem este să solicităm interogarea să ne ofere lista sesiunilor conștiente ordonate până la ora de sfârșit, cea mai recentă sesiune fiind prima.

2. Utilizați predicatul pentru a defini interogarea

1611491771 299 Cum sa cititi si sa scrieti Mindful Minutes din iOS
Căutați toate sesiunile din ultimele 24 de ore

Următoarea porțiune din codul nostru se referă la specificul real al unei „interogări”: ce subset de date căutăm. În cazul nostru, dorim toate eșantioanele din ultimele 24 de ore.

3. Compuneți și rulați interogarea

1611491772 440 Cum sa cititi si sa scrieti Mindful Minutes din iOS
Rulați-l!

În cele din urmă, vrem să combinăm sortDescriptor, predicate, si sampleType vrem de la HealthKit împreună cu funcția care va gestiona orice este returnat de interogare (resultsHandler). După aceasta, totul este compus într-un HKSampleQuery, singurul pas rămas este executarea acestuia!

4. Agregarea datelor sesiunii și actualizarea UI

În interiorul funcției am definit-o ca fiind a noastră resultsHandler în secțiunea anterioară, vrem să:

  1. Obțineți timpul total pentru fiecare sesiune atentă
  2. Sumați tot timpul pentru a obține numărul total de minute Mindful din ultimele 24 de ore.
  3. Actualizați-ne eticheta cu totalul.

Acest lucru ar trebui să fie relativ simplu dacă înțelegeți conceptele de hartă și reduceți. Dacă acestea sunt noi pentru dvs., vă recomand să vă alocați timp pentru a le învăța. Acestea se găsesc în majoritatea limbajelor de programare și reprezintă o introducere excelentă în lumea minunată a programării funcționale.

Singura piesă care poate să nu fie simplă este motivul pentru care înfășurăm

self.meditationMinutesLabel.text = labelText

în DispatchQueue.main.async . Motivul pentru care facem acest lucru este că putem actualiza interfața de utilizare fără a bloca firul principal al aplicației. Aceasta este o convenție aplicată chiar de compilator!

Scrierea datelor

În cele de mai sus, am analizat cum să citim din HealthKit. Dar cum îi scriem date? Din fericire, procesul este mult mai simplu. Următorul cod urmează:

  1. Complet addMinuteAct funcție pe care am adăugat-o în timpul configurării și, ca rezultat, restul aplicației.
  2. Creeaza o MindfulSession de 1 minut începând acum
  3. Salvați acest nou MindfulSession la HealthKit
  4. Actualizați eticheta pentru a reflecta noul număr total de minute conștiente

Porniți-l!

Cu toate cele terminate și codul scris, ar trebui să puteți porni această aplicație în simulatorul dvs., să acceptați cererea de citire și scriere din HealthKit și să începeți să vedeți cât de des ați meditat în ultimele 24 de ore!

1611491773 639 Cum sa cititi si sa scrieti Mindful Minutes din iOS
Uimitor!

Învelire

La începutul acestui proiect, am fost foarte încântat să sar în HealthKit. Văd că este poziționat să schimbe modul în care noi și ceilalți interacționăm cu informații personale sensibile.

Cu toate acestea, cred că Apple, spre deosebire de alte platforme, face ca API-urile lor să fie puțin prea greu de descoperit atât prin documentația lor, cât și prin XCode. Sperăm că vor îmbunătăți această experiență, dar până când o vor face, învățarea modului de utilizare a HealthKit poate fi un exercițiu de tragere a dinților.

Sper că această postare vă scutește de nevoiți să vă împiedicați și să vă poată livra produsele mai repede!

? ‍ Acesta este open source! poți fgăsiți-l aici pe Github

❤️ Scriu doar despre programare și lucru la distanță. daca tu urmărește-mă pe Twitter Nu-ți voi pierde timpul.