Bedre kode: Få iOS-appen din i iCloud

Etter hvert som flere brukere blir avhengig av flere enheter, er det viktig å forstå iCloud og fordelene med det. Apples iCloud er en skylagringstjeneste - lansert i oktober 2011 - med den hensikt å tilby et felles sted å lagre informasjon som skal deles på tvers av enheter. I tillegg tilbyr iCloud en trådløs løsning som ikke er bundet til kobling for sikkerhetskopiering av iOS-enheter. Utviklere kan imidlertid utnytte iCloud for "felles bakken" lagring av informasjon som er spesifikk for en iOS-app. Enten du distribuerer spesifikke IOS-apper for hver mobilenhet, eller bruker "universal app" -tilnærmingen som beskrevet i denne artikkelen, kan iCloud bidra til å effektivisere utviklingsprosessen.

Den 30 000 fot store utsikten

Fra sluttbrukerens perspektiv er iCloud-aktiverte enheter alltid synkronisert. Mens en brukers dokumenter, bilder, musikk og filmer lagres på iCloud og deles på tvers av enheter, er muligheten til å synkronisere en arbeidsflyt en av de mer nyttige funksjonene. I denne sammenhengen kan en "arbeidsflyt" beskrives som en ende til ende prosess, eller en sekvens av hendelser som går fra initiering til fullføring - for eksempel å lese en bok. Når du for eksempel leser en bok, inkluderer hendelsesforløpet snu sider.

Den innebygde iBooks-appen er et flott eksempel på en synkronisert arbeidsflyt i aksjon. Når en bruker kjøper en bok i iBooks-appen, lastes innholdet øyeblikkelig ned til hver enhet som er registrert under samme konto. Når brukeren samhandler med boken (vipper sider, legger igjen bokmerker osv.), Lagres informasjon på iCloud. Denne informasjonen gjør det mulig for brukeren å hente hvor de slapp på noen av sine iCloud-aktiverte enheter.

Tidlige versjoner av iOS-enheter krevde at brukerne fysisk kobler enheten til en datamaskin som kjører iTunes for sikkerhetskopiering eller gjenoppretting av apper og enhetsinnstillinger. I dag har enhetene muligheten til å sikkerhetskopiere og synkronisere informasjon trådløst - for eksempel musikk, filmer, bilder, video, enhetsinnstillinger og appdata. Utviklere kan lagre applikasjonsspesifikk informasjon til iCloud for å sikre en jevn opplevelse på hver enhet som støttes av appen. Høy score, innstillinger og preferanser for en iOS-spillapp er perfekte kandidater for iCloud-lagring.

Fra kontrolltårnet

Hver utvikler har muligheten til å integrere seg med iCloud. Det første trinnet er selvfølgelig å bestemme hvilken type lagring du vil utnytte. For øyeblikket tilbyr iCloud tre typer lagring, og avhengig av dine spesifikke behov, kan du velge flere alternativer:

  • Lagring av nøkkelverdier brukes til å lagre informasjon, for eksempel appstatus eller innstillinger. Hensikten med å bruke nøkkelverdi-lagring er å gi "felles grunnlag" for all informasjon som er ment å deles på alle iCloud-aktiverte enheter som kjører en forekomst av appen din.
  • Dokumentlagring brukes til å lagre dokumenter som kan leses av mennesker, for eksempel regneark, tegninger og tekstbehandlingsdokumenter. Filer synkroniseres automatisk mellom iOS- og OS X-enheter.
  • Core Data-lagring brukes til ekstern, delt lagring for en av de tre vedvarende innfødte filtypene: binær, SQLite og XML . Mens binære og XML-filer krever kontinuerlig overføring av filer mellom enheter, overfører SQLite bare endringer - ved å bruke en datareplikeringsmetode - noe som gjør det til et mer effektivt valg.

Forbereder appen din for iCloud

Noen få trinn er nødvendig for å inkludere funksjonene og fordelene iCloud i din neste flotte app. Som for alle iOS-apper, må du opprette en profil for enhetsavsettelse. Denne prosessen er beskrevet i detalj i Apple Developer's dokument, Opprette og laste ned utviklingsproviseringsprofiler.

Du kan aktivere iCloud-tjenester for en bestemt app fra delen "Sertifikater, identifikatorer og profiler" i Provisioning Portal. Det er en rekke avkrysningsbokser - hver og en som representerer tjenester du vil aktivere. Den nåværende pakken med tjenester designet for å forbedre appen din inkluderer: Datasikring, Game Center, iCloud, kjøp i appen, passbok og pushvarsler ( figur A ).

Figur A

Etter å ha opprettet en klargjøringsprofil, er ditt neste trinn å be om passende rettigheter i Xcode-prosjektet. De nyeste versjonene av Xcode ( f.eks. Xcode 4.6.1) gjør det enkelt å konfigurere rettigheter. Når du har valgt målet i navigasjonsruten, velger du kategorien "Sammendrag" i konfigurasjonsområdet. Delen "Rettigheter" finner du rett under området "Koblede rammer og biblioteker" ( figur B ).

Figur B

Hvis du markerer avkrysningsruten Entitlements og velger et filnavn, genereres det en rettighetsfil som kan redigeres manuelt ( figur C ).

Figur C

Navneverdeparene i denne filen - inkludert iCloud-spesifikke innstillinger - kan legges til ved å merke av i boksen "Aktiver iCloud" vist i figur B.

Hvis du vil bruke iCloud nøkkelverdi-lagring, velger du alternativet Key-Value Store. For å aktivere dokumentlagring, inkludert Core Data-lagring, må du konfigurere ubiquity-containere. En allestedsnærværende beholder er den lokale representasjonen av appens iCloud-lagring. En iCloud-aktivert app opprettholder en lokal cache av informasjonen som er lagret på skyen. Dette lar brukeren fortsette å jobbe selv når han ikke kan koble seg til et nettverk.

Det er viktig å velge riktig iCloud-lagringstype. Lagring av nøkkelverdier er den enkleste å implementere, og kan gi en jevn brukeropplevelse på alle iCloud-aktiverte enheter. Det er en lagringsgrense på 1 MB per app som skal brukes til lagring av nøkkelverdier.

Dokumentlagring er bare begrenset av den tilgjengelige plassen i brukerens iCloud-konto. Med tanke på at brukerens lagring er begrenset, anbefaler Apple bare å lagre nødvendig informasjon til iCloud. Brukerdokumenter, preferanser og apptilstand er eksempler på informasjon som bør lagres på iCloud. Midlertidige filer og hurtigbufferfiler skal for eksempel aldri lagres på iCloud.

Siste tanker

Utviklerne har vært trege med å innse fordelene med iCloud. Spillutviklere var de første adoptere, fulgt tett av flere apper som utnyttet enhetssynkroniseringsfunksjonene til iCloud. Apple gir en mengde informasjon om prosessen for å utvikle en iCloud-aktivert iOS-app. I dag er det mange apper som drar full nytte av iCloud. Med noen få ekstra trinn kan du også ta hodet i iCloud.

Les også:

  • Bedre kode: Utvikle universelle apper for iOS-enheter
  • Bedre kode: Grunnleggende om UISlider for Apple iOS
  • Utvikle iOS-appene dine, ellers vil de dø i naturen

© Copyright 2021 | mobilegn.com