Create en Native Apple Watch App for watchOS to
21
Del
Del
Del
Denne Cyber Monday Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.
I denne opplæringen vil du lære hvordan du kan dra nytte av nye API og funksjonalitet i watchOS 2 for å gjøre en innfødt Apple Watch søknad. Dette inkluderer plukkegrensesnittelementer, innfødte animasjoner og varslings kontrollere.
Innledning
På WWDC 2015, annonserte Apple den første store oppdateringen til deres Apple Watch plattform, watchOS 2. Sammen med mange nye funksjoner og forbedringer, det viktigste aspektet ved denne oppdateringen for utviklere er evnen til å lage native Apple Watch apps. Disse native apps prestere bedre og gi utviklere tilgang til nye funksjoner, blant annet digital krone, mikrofon, og helsesensorer.
I denne opplæringen, vil jeg vise deg hvordan du oppretter en innfødt WatchKit søknad og kort skissere noen av de nye API-er tilgjengelige i watchOS 2. Jeg vil også vise deg hvordan du oppgraderer en eksisterende ikke-innfødte watchOS en app til en innfødt watchOS 2 app.
Denne opplæringen forutsetter at du kjører Xcode 7 på en Mac som kjører OS X Yosemite (10.10) eller senere. Denne opplæringen bygger på konsepter og WatchKit APIer tilgjengelige i watchOS 1. Hvis du ennå ikke er komfortabel med WatchKit rammeverk, og deretter starte med en av våre innledende tutorials på WatchKit.
1. Sette opp prosjektet
Åpne Xcode og opprette et nytt prosjekt. I Xcode 7, inneholder det nye prosjektet veiviseren en watchOS delen til venstre. Velg iOS App med WatchKit App mal fra watchOS > Søknad delen. Klikk på Neste for å fortsette.
Fyll inn informasjon som vist i skjermbildet under. Fjern avmerkingen i bunnen, fordi vi ikke vil være behov de for denne opplæringen.
Fullfør prosjektet oppsett og ta en titt på mappene Xcode har skapt for oss. Du bør se tre grupper eller mapper i prosjektet Navigator til venstre:
Demo mappen inneholder kildefilene og ressurser av iOS søknad
Demo WatchKit App mappe hus. dreieboken og ressurser på WatchKit søknaden.
Demo WatchKit Extension omfatter kildefilene og ressurser av WatchKit forlengelse, hjernen i WatchKit søknaden så å si.
Før vi kan begynne å legge noe, må vi konfigurere Xcode å bygge og drive den riktige målet. I øvre venstre i Xcode vinduet, ved siden nedtonet stoppknappen, klikk på aktive ordningen, Demo, og velg følgende alternativ:
Klikk på play-knappen for å bygge og drive din app. I dokken din, bør du se to simulator ikoner vises. En av disse er den vanlige iOS Simulator mens den andre er Apple Watch Simulator
Hvis den blanke skjermen på din Apple Watch app ikke vises automatisk på Apple Watch Simulator, så gjør du følgende:.
1. Naviger til Apple Watch app på iOS Simulator. Du kan finne Apple Watch app på andre startskjermside.
2. Klikk på Demo tabellvisning celle som vist nedenfor.
3. Aktiver Show App på Apple Watch bryteren som vist nedenfor.
4. I Apple Watch Simulator, navigere til startskjermen ved å trykke Command + Shift + H eller velge Hjem fra Hardware menyen på Apple Watch Simulator.
Hvis dette ikke umiddelbart fungerer, så slå av bryteren på iOS Simulator på og av. Det kan også hjelpe å slutte Xcode og kjøre WatchKit app igjen.
Hvis alt fungerer som det skal, kan du klikke på ikonet for Apple Watch app i Apple Watch Simulator. Du bør se en svart skjerm med tiden som vises i øvre høyre.
2. Opprette brukergrensesnittet
Det er på tide å begynne å bruke noen av de nye APIer introdusert i watchOS 2. I Xcode, åpen Interface.storyboard i Demo WatchKit App mappen og legg til følgende komponenter til Interface Controller Scene:
slider
picker
for
Velg glidebryteren og sette sin maksimale og Steps eiendommer til 5 i attributter Inspector.
Dobbeltklikk på knappen og endre tittelen til "Vis Alert". Åpne Assistant Editor slik at du har storyboardet til venstre, og innholdet i InterfaceController.swift til høyre. Opprett et utløp for glidebryteren ved kontroll-dra fra glideren i dreieboken til InterfaceController klassen. Navn uttaket glidebryteren. Gjør det samme for velgeren og navngi uttaket velgeren.
Ctrl-dra fra knappen til InterfaceController til høyre for å skape en handling. Navn handlingen showAlertPressed. Denne handlingen vil bli utført når brukeren kraner på knappen.
Lukk Assistant Editor på høyre og åpen InterfaceController.swift i Xcode kode editor.
Sensoren og knapp som du har lagt til InterfaceController klasse skal være kjent hvis du har jobbet med WatchKit rammeverket. Plukkeren, derimot, er en av de nye grensesnittelementer som er tilgjengelige i watchOS 2.
En plukke Apple Watch er representert ved WKInterfacePicker klassen. Det fungerer på samme måte som sin iOS motstykke, UIPickerView. Brukere kommuniserer med en WKInterfacePicker eksempel ved å tappe den, bla gjennom WKPickerItem objekter med digital krone, og deretter trykke på for å velge et element. En WKInterfacePicker kan vise elementer i en av tre forskjellige stiler:
List: Denne stilen viser plukke elementer i en vertikalt stablet liste for brukeren å bla gjennom. Disse elementene har en tittel og et valgfritt tilbehør image. Dette er den eneste WKInterfacePicker stil som støtter tekstbaserte elementer og kan vise flere elementer samtidig
Stacked.
Denne picker stil presenterer en serie bilder som vertikalt animerte kort. Som brukeren slår den digitale krone, animerer det gamle kortet off-screen og det nye kortet animerer på skjermen fra bunnen av velgeren. Varer til denne stilen kan bare inneholde Images
Bildesekvens.
Denne stilen viser en sekvens av bilder uten overgangene blir animert. Dreie kronen viser umiddelbart neste eller forrige bilde i sekvensen. Varer til dette picker stil kan også bare inneholde bilder.
For denne opplæringen, du kommer til å lage en enkel liste stil picker med tekstbaserte elementer. Legg til følgende kode i awakeWithContext (_ :) metoden i InterfaceController klasse:
styre func awakeWithContext (kontekst: AnyObject) {super.awakeWithContext (kontekst) Var pickerItems:? [WKPickerItem] = [] for jeg i en .. 0,10 {la element = WKPickerItem () item.title = "Picker element \\ (i)" pickerItems.append (post)} self.picker.setItems (pickerItems)}
Bygg og kjøre programmet ditt. Du vil se at de tre første plukke elementer er synlige.
Hvis du vil kommunisere med din picker grensesnitt element, klikker du på det en gang, og bla deretter på Mac-mus eller styreflaten på vanlig måte. Dette vil simulere den digitale kronen av klokken. Du vil da kunne bla gjennom plukke elementer.
3. Animasjon
Sammen med nye elementer grensesnitt og nye måter for brukere å samhandle med Apple Watch apps, watchOS 2 støtter innfødte animasjoner for WatchKit grensesnitt stedene. Følgende attributter av grensesnittelementer er animatable i watchOS 2 apps:
alpha (opacity)
bredde og høyde
horisontal og vertikal justering
bakgrunnsfarge og fargetone farge
innholds innfellinger for grupper
Animasjon er gjort gjennom en enkelt WKInterfaceController instansmetode, animateWithDuration (_: animasjoner :). Som et enkelt eksempel, du kommer til å animere glideren ved å gjøre det fade ut og krympe mot toppen av skjermen. Legg til følgende kode i willActivate metoden i InterfaceController klasse:
styre func willActivate () {super.willActivate () self.animateWithDuration (5) {() - > Ugyldig i self.slider.setHeight (0) self.slider.setAlpha (0)}}
Bygg og kjøre programmet ditt, og når programmet er ferdig lansering, skal du se glidebryteren sakte krymper og falming ut.
I animasjonen nedleggelse, kan du animere noen av de egenskapene som er nevnt ovenfor. Dette gjelder noen av grensesnittet elementer i programmet ditt. Dette åpner for et annet nivå av tilpasning i din app grensesnitt, og gir også en mye jevnere måte å skjule og vise elementer.
4. Varsler
watchOS 2 kan også apps i dag et varsel grensesnitt svært lik som en UIAlertView eller UIAlertController på iOS. Disse varslene vises ved å ringe presentAlertControllerWithTitle (_: melding: preferredStyle. Handlinger :) metoden på en WKInterfaceController eksempel
De tittel og parameterne for denne metoden er strenger som skal vises på vakt grensesnitt. Den tredje parameteren er en WKAlertControllerStyle enum: Den fjerde parameteren er en rekke WKAlertAction gjenstander som gir informasjon for varslings knapper. Denne matrisen må inneholde minst ett objekt, og for SideBySideButtonsAlert den må inneholde to. En WKAlertAction objektet er opprettet med en tittel, stil (WKAlertActionStyle.Default, WKAlertActionStyle.Cancel, eller WKAlertActionStyle.Destructive) og en blokk til bli henrettet når handlingen er valgt. Legg til følgende kode i knappens showAlertPressed handling: Bygg og kjøre programmet ditt. Når du trykker på Show Alert-knappen, vil du se et varsel grensesnitt animere i og vise de to handlingene du opprettet. Når du åpner et eksisterende Xcode prosjekt med en WatchKit app i Xcode 7, vil følgende advarsel vises i Emisjonen navigator til venstre: Ved å klikke advarselen vil vise en liste over de innstillinger som må endres i programmet for å gå over en eksisterende WatchKit app til watchOS 2. Nederst vil du se følgende punkt: Hvis du klikker Utfør endringer, Xcode vil oppgradere eksisterende WatchKit app for deg. Når oppgraderingen er fullført, er du klar til å bygge, teste og sende en innfødt app for watchOS 2. De nye APIer og funksjoner som du lærte om i denne opplæringen er bare tuppen av isfjellet. Picker grensesnittelementer, varsel kontrollere, og innfødte animasjoner er bare noen av de nye funksjonene du kan dra nytte av i din Apple Watch apps på watchOS 2. Vi vil legge ut mange flere tutorials på Tuts + i de kommende månedene , som dekker de nye funksjonene og APIer tilgjengelig på watchOS 2. Sørg for å lete etter dem, og legg gjerne igjen kommentarer eller spørsmål du har i kommentarfeltet nedenfor.
Varsling viser et varsel ark med stablet knapper og en standard Avbryt-knappen nederst
SideBySideButtonsAlert viser to knapper ved siden av hverandre
viser ActionSheet en eller to egendefinerte knapper med en Avbryt-knappen i øvre venstre hjørne.
IBAction func showAlertPressed () {la avbryte = WKAlertAction (tittel: "Avbryt", stil: WKAlertActionStyle.Cancel, handler: {() - > Void i}) la action = WKAlertAction (tittel: "Handling", stil: WKAlertActionStyle.Default, handler: {() - > Void i}) self.presentAlertControllerWithTitle ("Alert", meldingen: "Eksempel watchOS to alert grensesnitt", preferredStyle: WKAlertControllerStyle. SideBySideButtonsAlert, handlinger: [avbryte, action])}
5. Oppgradering til watchOS 2
Konklusjon