en introduktion til clockkit

, en introduktion til clockkit,,,,, 59,,,,,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, indførsel, på wwdc 2015, apple bekendtgjorde sin første større opdatering af æble - software, watchos 2.den nye opdatering førte til mange nye grænseflader og karakteristika for udviklere, til at benytte sig af, herunder lokalt system, adgang til flere af æble - hardware og bedre kommunikation med forældre - six - app.,, i denne lektion, jeg vil vise dig, hvordan at drage fordel af et nyt element, evne til at få skik på komplikationer ved hjælp af clockkit rammer.denne pædagogiske kræver, at du løber, xcode 7, os x yosemite (10.10) eller senere,.,, hvis du ikke allerede ved det, æble - komplikationer, er de små grænseflade elementer, der viser oplysninger om se ansigtet.,,,,, ovennævnte skærmbillede viser, hvor fem komplikationer vises i det  , modulopbygget, pas på ansigtet ud over tid i øverste højre hjørne.,, 1.oprettelsen af det projekt, der skaber et nyt projekt i xcode ved, watchos > anvendelse > programmerbare app med watchkit app  , model.,,,,, næste, få projektet som vist nedenfor, at sikre at omfatte komplikation,   kontrolleres.,,,,,, når xcode har skabt deres projekt, -  , clockkit indførelse watchkit udvidelse, i  , projekt navigatør.du vil se en ny   komplikationer konfiguration, afsnit som vist nedenfor.,,,,, fem for galochka under støtte familier,   repræsenterer de forskellige komplikation familier   din app støtter.i denne forelæsning, vi skal fokusere på, modulopbygget store familie.du kan uncheck andre for galochka for nu.,,,,, som anført i apples  ,, watchos 2 overgang vejledning,  , det er meget opmuntrende, at din app støtter alle fem familier.følgende billede viser, hvor de forskellige familier anvendes.,,,, image kredit: æble watchos 2 overgang vejledning, 2.oprettelsen af den komplikation, for at lære dig at bruge clockkit, du kommer til at skabe en enkel komplikation, der viser den tid, navn og genre af falske tv viser, om en bestemt station i dag.,, til at begynde med åbne  , complicationcontroller. hurtig,   i  , clockkit indførelse watchkit udvidelse, mappe.xcode har oprettet automatisk denne fil til dig.den indeholder en  , complicationcontroller, klasse, der overholder og gennemfører  , clkcomplicationdatasource, protokol.,, de metoder, der er forbundet med denne protokol er, hvordan du stiller oplysninger til clockkit om komplikationer, du vil vise.metoderne til protokollen indeholder en kontaktperson, som du skal ringe til at videregive oplysninger tilbage til clockkit.,, tidsfrister, når at levere data til clockkit, gør du det i form af en tidslinje.du gør dette ved at fylde dine komplikation tidslinje med data, som er knyttet til et bestemt tidspunkt.disse data er bygget af de genstande, clkcomplicationtimelineentry, klasse.  , når et bestemt tidspunkt er nået, clockkit automatisk viser den korrekte indhold for din app.,, din tidslinje angivelser er hentet og skjult af clockkit før den tid, de er beregnet til at blive udvist.dette betyder, at dataene skal kunne genvindes og planlagt i forvejen.hver ansøgning, har et begrænset budget, tid til at genopfriske indholdet i baggrunden.med andre ord, komplikationer  , ikke en erstatning for presse meddelelser eller anmeldelsen center.,, stor fordel af at levere data på denne måde er at opretholde en fremragende bruger erfaring.indholdet i hvert komplikation er umiddelbart tilgængelige, når de bruger rejser på hendes håndled.en af de andre fordele ved at anvende denne tidslinje data model er evnen til at kunne vedtage den nye, tidsrejser, træk i watchos 2.det er, når brugeren bliver den digitale krone, samtidig med at se på uret, og data fra de komplikationer, afspejler den tid, der er blevet rejst,.,, i din kode, under  , tidslinje konfiguration, mark, vil du se fire metoder, som er nødvendige for at få en tidslinje.for at gøre denne forelæsning enkel og let at forstå, at vi kun vil støtte frem tid rejse - og levere data i op til 24 timer.for at gøre dette, ajourført gennemførelsen af de første tre metoder som vist nedenfor.,, getsupportedtimetraveldirectionsforcomplication funktion (komplikation: clkcomplication, withhandler kontaktperson: (clkcomplicationtimetraveldirections) - > tomrum) (kontaktperson (videre) funktion gettimelinestartdateforcomplication (komplikation: clkcomplication, withhandler kontaktperson: (nsdate?)- > tomrum) (kontaktperson (nsdate()) funktion gettimelineenddateforcomplication (komplikation: clkcomplication, withhandler kontaktperson: (nsdate?)- > tomrum) (kontaktperson (nsdate (timeintervalsincenow: (60 + 60 * 24)))), og den fjerde metode   i  , tidslinje konfiguration,   afsnit,  , getprivacybehaviorforcomplication (_: withhandler:),   anvendes til at angive, hvorvidt du ønsker din komplikation indhold for at komme til udtryk, når anordningen er låst eller ej.standardværdien gik til den kontaktperson,  , showonlockscreen, betyder, at de data, vil altid være synlig.,, skabeloner, rulle til bunden af, complicationcontroller, klasse og finde  , getplaceholdertemplateforcomplication (_: withhandler:), metode.i denne metode, man skaber og vedtage en  , clkcomplicationtemplate, tilbage til den kontaktperson for de data, som de vil vise.i denne forelæsning, du kommer til at bruge den  , clkcomplicationtemplatemodularlargestandardbody, model, som viser tre linjer.for hver tv - show, disse tre linjer skal være:,, start - og sluttidspunkt  , navn, genre, er der et par modeller til rådighed over de fem komplikation familier.følgende billede viser de tilgængelige modeller og understreger, at vi kommer til at bruge i denne forelæsning.,,,, image, kredit, nemlig at skabe komplikationer med clockkit   (wwdc 2015),,, tekst - udbydere, fordi rummet til indholdet er begrænset på et ur   udstilling, så meget desto mere i de små størrelser. i ser ansigt komplikationer, du giver tekstbaserede data til clockkit ved hjælp af  , clktextprovider, genstande.disse udbydere tage sigte på at undgå truncating indhold, hvilket resulterer i en dårlig brugeroplevelse.   med disse tekster udbydere, du beskrive dine intentioner om, hvad du vil have, og så clockkit indhold viste håndterer den endelige formatering for dig. for eksempel, hvis du vil have en dato i deres komplikation, du bruger  , clkdatetextprovider med en specificeret dato og sæt enheder (måned, dag, time, osv.).det vil korrekt format, datoen for den plads, der er til rådighed.et eksempel på dette er, at datoen "torsdag den 22. oktober" og er i stand til at format til:,, thur, 22. oktober, thur, oct 22, olt 22,22, for en fuldstændig liste over teksten udbydere og - modeller, der er til rådighed i clockkit, kan du se apples clockkit referenceramme. nu, hvor du ved, om den grundlæggende tekst   modeller og udbydere, du er klar til at skabe en model for din   komplikation.i  , getplaceholdertemplateforcomplication (_: withhandler:),   metode, tilføje følgende kode:,, funktion getplaceholdertemplateforcomplication (komplikation: clkcomplication, withhandler kontaktperson: (clkcomplicationtemplate?)- > tomrum) (//denne metode bliver ringet en gang pr. støttet komplikation, og resultaterne vil være skjult - skabelon = clkcomplicationtemplatemodularlargestandardbody() template.headertextprovider = clktimeintervaltextprovider (startdate: nsdate(), enddate: nsdate (timeintervalsincenow: 60 * 60 * 1,5) template.body1textprovider = clksimpletextprovider (tekst: "vis navn", shorttext: "navn") template.body2textprovider = clksimpletextprovider (tekst: "vis genre", shorttext: nul) kontaktperson (model), med den kode, du skaber en standard lig  , model for   modulære store, familie og giver det tre udkast til udbyderne.den  , clksimpletextprovider, genstande bør være ligetil.den  , clktimeintervaltextprovider, tager to datoer og formater dem i snor, f.eks. "10:00am-3:30pm" eller "1:00-2:45pm"., 3.afprøvning af komplikationer, nu hvor vi har sat vores tidslinje, og forudsat clockkit med en skabelon for vores komplikation, kan vi endelig test resultaterne af vores arbejde.i den øverste venstre af din xcode vindue, vælge dit besvær, mål og en af de disponible simulatorer.tryk play knappen til at opbygge og drive din app.,,,,, når æble - simulator starter, vil de sandsynligvis være forelagt følgende se ansigt:,,,,, til at afprøve din komplikation, du skal udfylde et par skridt.,, trin 1, presse, command + forskydning + 2,   at simulere en kraft, rør og klik på det ur.,,,,, trin 2, presse, command + forskydning + 1, kør til højre for, modulopbygget, ansigt og   klik, vælge, button.,,,,, trin 3, kør til højre, klap lige komplikationer og rulle til bunds. med din trackpad eller mus at simulere den digitale krone.,,,,, trin 4, simulere kraft ved igen at komme tilbage til se ansigt til at vælge og vælge den, modulopbygget, ansigt.,,,,, tillykke.du har lige fået dig første clockkit komplikation til at dukke op på et æble - pas på ansigtet.nu er det tid for dig at begynde at fylde den med nogle faktiske (fup) data,.,, 4.   at levere data til clockkit, før vi skaber en tidslinje angivelser for vores problem, vi er ved at skabe en  , viser, at føre til let model, vores data, og så skaber værdier af det nye type.der tilføjes følgende kode snippet, complicationcontroller. hurtigt, inden begyndelsen af  , complicationcontroller, klasse definition.,,, struktureret vis (var - navn: string var shortname: snor?var genre: string var startdate: nsdate var længde: nstimeinterval} lade time: nstimeinterval = 60 * 60 - viser = [vise (navn: "i naturen", shortname: "vilde" genre: "dokumentarfilm", startdate: nsdate(), længde: time * 1,5), vis (navn. "24 /7", shortname: nul, genre: drama, startdate: nsdate (timeintervalsincenow: time * 1,5), længde: time), vis (navn: "at blive rig", shortname: "blive rige" genre: "dokumenter", startdate: nsdate (timeintervalsincenow: 2,5 time *), længde: time * 3), vis (navn: "net daily", shortname: nul, genre: "nyheder" startdate: nsdate (timeintervalsincenow: time * 5.5), længde: time)], som du kan se, at vi skaber  , vis, struktur og danne et statisk system -på indeholder fire viser.du skal anvende dette system som din komplikation er kilde til data, i, complicationcontroller,   klasse, finde  , getcurrenttimelineentryforcomplication (_: withhandler:), metode og tilføje følgende kode:,, funktion getcurrenttimelineentryforcomplication (komplikation: clkcomplication, withhandler kontaktperson: ((clkcomplicationtimelineentry?)- > tomrum)) (//ringe kontakt med den nuværende tidsplan indrejse - show = viser [0] lad skabelon = clkcomplicationtemplatemodularlargestandardbody() template.headertextprovider = clktimeintervaltextprovider (startdate: show.startdate, enddate: nsdate (timeinterval: show.length, sincedate: show. startdate)) template.body1textprovider = clksimpletextprovider (tekst: show.name, shorttext: show. shortname) template.body2textprovider = clksimpletextprovider (tekst: show.genre, shorttext: nul) lad indrejse = clkcomplicationtimelineentry (dato: nsdate (timeinterval: time * -0.25, sincedate: show. startdate), complicationtemplate: model) kontaktperson (entry)}, du skaber en komplikation skabelonligesom du gjorde før, og fyld den med indhold.du så skabe en  , clkcomplicationtimelineentry, objekt med to parametre:,, en dato, en skabelon, den dato, de præcisere her er, hvor denne tiltrædelse vil blive placeret på den tidsplan, og den har vist, at brugeren.for vores app, vi giver vores tidslinje indrejse, en dato for 15 minutter før showet starter, så at den vil dukke op på brugerens se lige før showet er på, næste gang, du er nødt til at give clockkit sammen med alle de andre, viser, at man har skabt for dit besvær.dette er sket i  , gettimelineentriesforcomplication (_: afterdate: grænse: withhandler:), metode.grænsen parameter i denne metode, er der så en enkelt ansøgning kan ikke belaste clockkit cache data og ved præcis hvor mange tidslinje angivelser, skal den forelægge.,, tilføje følgende kode til  , gettimelineentriesforcomplication (_: afterdate: grænse: withhandler:),   metode, complicationcontroller. hurtig,:,, gettimelineentriesforcomplication funktion (komplikation: clkcomplication, afterdate dato: nsdate, begrænse: int, withhandler kontaktperson: (([clkcomplicationtimelineentry])?- > tomrum)) (//ringe kontakt med tidslinjen angivelser efter den dato var angivelser: [clkcomplicationtimelineentry] = [...] for show i viser (hvis entries.count < begrænse & & show. startdate. timeintervalsincedate (dato) > 0 (lad template = clkcomplicationtemplatemodularlargestandardbody() template.headertextprovider = clktimeintervaltextprovider (startdate: show.startdate, enddate: nsdate (timeinterval: show.length, sincedate: show. startdate)) template.body1textprovider = clksimpletextprovider (tekst: show.name, shorttext: show. shortname) template.body2textprovider = clksimpletextprovider (tekst: show.genre, skødttext: nul) lad indrejse = clkcomplicationtimelineentry (dato: nsdate (timeinterval: time * -0.25, sincedate: show. startdate), complicationtemplate: model) angivelser. både (entry)}} kontaktperson (numre)}, du først skabe en tom række  , clkcomplicationtimelineentry, genstande.du så iterate gennem viser, du skabte tidligere.for hvert program, hvis det begynder efter den dato, der er fastsat i clockkit og begrænse oplysningerne ikke er blevet overskredet, så vil du skabe en model og sætte det på nettet., ved afslutningen af denne metode, kan du ringe til kontakt med din dragt.passerer, nul,   eller en tom system til kontaktperson siger, at du ikke har clockkit flere data for at give, og det vil ikke være din  , clkcomplicationdatasource, formål, indtil flere data er påkrævet, med disse metoder i stedet, nu er du klar til at se din afsluttet komplikation.tryk play knappen til at opbygge og drive din app.når simulatoren først starter, vil du se dit besvær med data for den første viser, at du har skabt.,,,,,, hvis du så rulle med din trackpad eller mus at træde tid rejsemåde, vil de se, at den anden viser, du har skabt, er vist i dit besvær, på det rette tidspunkt.,,,,, konklusion,,, denne forelæsning, du lærte de grundlæggende elementer i den clockkit rammer og at skabe en skik se ansigt komplikation for apple - ur.dette omfattede fem komplikation, familier, grundlæggende modeller og tekst udbydere, og tidslinjen, baseret data., i din komplikation, du også bygget til støtte for watchos 2 tidsrejser træk og tilføje nye data, som tiden går.som altid, hvis du har nogen bemærkninger eller spørgsmål, lægger dem i bemærkningerne nedenfor.

Apple Watch complications
Project template
Project options
Complications Configuration
Modular Large family choice
Apple Watch complication families
Available watch complication templates
Choosing the complication target
Initial watch face
Watch face chooser
Modular face option
Complication picker
Modular face with your complication
Complication showing first show
Time travel



Previous:
Next Page: