Press "Enter" to skip to content

GOTO 2015 • Developing Killer Apple Watch Applications • Wei Meng Lee


(musica brillante)
(applausi)
– Ehi, grazie!
Tutti quelli che mi stanno dietro possono sentirmi?
Buono ok.
Quindi, grazie mille per essere venuto per la mia sessione.
Quindi, per i prossimi 50 minuti ho intenzione di parlare con te
sullo sviluppo di applicazioni killer Apple Watch.
Quindi, basta avere una mano in mano:
Quanti di voi hanno un Apple Watch?
Sul tuo…?
Wow!
(Ride)
E chi ha un 10k, l’orologio 18k?
(Ride)
Voglio parlare con te.
Ok, quindi quanti di voi hanno effettivamente iniziato
scrivere app per il tuo Apple Watch?
E immagino che tu abbia già aggiornato
guardareOS 2.0?
Sì?
Ok, se non l’hai fatto, per favore fallo.
Ha molte caratteristiche meravigliose.
Questo è l’argomento del mio intervento.
Quindi, come al solito, vai all’app
e dacci il tuo feedback.
Quindi un po ‘di me:
Sono concentrato sull’addestramento mobile,
quindi faccio molti allenamenti su iOS e Android,
e sto anche allenando i wearables,
come Android Wear, per quanto riguarda Apple Watch.
Ho effettivamente scritto un libro chiamato
Apprendimento della programmazione WatchKit.
E la cosa veramente triste di questo
era nel momento in cui il libro è stato rilasciato sul mercato,
era già superato.
Quindi il motivo è che, a giugno, Apple ha annunciato
una nuova versione di watchOS,
che è watchOS 2.0,
e il primo libro a sinistra
era basato su WatchKit 1.1, 1.X.
Quindi il mio editore ha detto: “Ehi, non importa,
“Aggiungiamo questo libro alla seconda edizione.”
Quindi quello a destra
coprirebbe watchOS 2.0
e questo sarà disponibile
fine di quest’anno, dicembre.
Ho appena presentato il mio manoscritto ieri sera
quindi se tutto va avanti senza problemi,
dovresti essere in grado di vedere il libro.
E tutte le demo di cui parlerò oggi
può essere trovato su questo libro.
Quindi sai cosa fare, giusto?
(Ride)
Ad ogni modo, tutte le demo per questa sessione
Ho già pubblicato sul mio sito web,
quindi ho intenzione di darti il ​​link
e puoi effettivamente andare a scaricare
tutto il codice sorgente
Hai solo bisogno di Xcode 7.
Non è necessario avere un Apple Watch
ma poiché penso che molti di voi abbiano un Apple Watch
puoi effettivamente distribuirlo sul tuo Apple Watch.
Va bene così l’agenda che vogliamo coprire
per i prossimi 50 minuti.
Quindi ho intenzione di iniziare
con lo sviluppo di Apple Watch.
Penso che qualcuno di voi abbia già familiarità con questo,
quindi, tieni duro con me per un po ‘
mentre faccio il resto a velocità,
e quindi possiamo parlare di alcuni dei nuovi
funzioni interessanti nell’ultima versione di watchOS.
E parleremo delle novità
disponibile in watchOS 2.0.
Ci sono delle complicazioni
Il framework di connettività WatchKit.
E puoi scaricare tutte le demo da questo sito.
Quindi se vuoi copiare, puoi copiare,
oppure puoi scaricare le diapositive per questa sessione
e poi è tutto lì.
Va bene?
Parliamo un po ‘di orologi intelligenti.
Ora, so che molti di voi sono utenti di Apple Watch.
Quanti di voi sono effettivamente utenti di Pebble watch?
Quanti di voi hanno l’orologio Pebble?
Sei serio?
(Ride)
Ok, che ne dici di Android Wear?
Ok, uno.
Dai, non essere timido.
Va bene, solo uno.
Va bene, non farò la grande domanda.
Quindi penso che tutti gli altri siano utenti di Apple Watch.
Ora, ottengo sempre questa domanda:
Quindi le persone chiedono sempre chi sarà il vincitore
di questa gara per l’indossabile?
Questo dispositivo che sarà,
che indosserai al polso.
Beh, non te lo chiederò
perché da quando sei in questa sessione,
la tua risposta sarà Apple Watch.
Il mio pensiero è, chiunque controlli
le piattaforme smart phone
controlla la piattaforma smart watch.
È abbastanza ovvio.
Perché se parli di orologi intelligenti oggi,
l’orologio intelligente è ancora molto dipendente
sui tuoi telefoni cellulari.
Quindi, qualunque sia il tuo telefono cellulare,
è probabile che stai acquistando il dispositivo,
l’orologio che viene dalla stessa piattaforma
come i telefoni che hai.
Quindi se guardi il grafico qui,
sulla destra hai Apple Watch
e dietro Apple Watch hai la piattaforma iOS,
che è uno dei numeri uno
in termini di penetrazione del mercato.
E poi seguito da quello nel mezzo,
hai Android Wear,
che è supportato da Android,
che proviene da Google.
E sul lato sinistro hai il tuo Pebble.
Ora, Pebble è in una posizione molto pericolosa ora.
Perché?
Perché non hanno una piattaforma per supportarli.
Quindi, per fare in modo che il tuo orologio Pebble abbia un senso,
devi fare affidamento su iPhone o Android.
E se hai letto le notizie ultimamente,
che quando Pebble ha presentato le applicazioni aggiornate per iOS,
Apple ha impiegato molto tempo per approvare.
Quindi sono in balia
di Google o Apple.
Quindi penso che da questo grafico sia abbastanza
ovvio a lungo termine
quali sono i vincitori nello spazio indossabile.
Ma comunque, visto che stiamo parlando di Apple Watch,
dovremmo concentrarci su Apple Watch oggi.
Ora, per lo sviluppo su Apple Watch,
hai bisogno di Xcode 7 e dovresti
Conosci già lo sviluppo di iOS.
Quindi quanti sviluppatori iOS ci sono in questa stanza?
Penso quasi …
Ok, chi non si sviluppa su iOS?
Ok ok.
Quindi questo è un buon gruppo per me da convincere.
Quindi, si spera, dopo questa sessione si può correre fuori
comprare un orologio Apple.
Ora in termini di lingua,
puoi usare la nuova lingua Swift,
o se hai una soglia molto alta per il dolore,
puoi usare Objective-C.
(Ride)
Quindi il mio suggerimento per te
è se stai iniziando a sviluppare iOS,
Penso che Swift sia un buon linguaggio per iniziare, ok?
Quindi quelle persone che in realtà ridono di ciò,
puoi chiedere loro quanto dolore stanno attraversando
apprendimento Objective-C.
È giusto?
Ok, forse gruppo sbagliato.
Quindi forse voi ragazzi mangiate Objective-C a colazione?
Ok, un po ‘delle specifiche di Apple Watch.
Quindi funziona su un chip personalizzato di Apple.
Quindi Apple ha progettato il proprio chip per Apple Watch
e ha molti sensori.
Quindi ha un sensore della frequenza cardiaca sul retro dell’orologio,
che puoi usare per misurare il tuo battito cardiaco,
e ha l’accelerometro.
Ti permette di misurare se lo sei
camminare abbastanza, esercitare abbastanza
o è ora di alzarsi in piedi.
Ha WiFi in modo che se il tuo orologio
è fuori portata dal tuo telefono,
può connettersi a reti WiFi conosciute,
e può effettivamente connettersi a Internet
e comunicare direttamente con i servizi web.
Ha anche Bluetooth a bassa energia,
ma in termini di programmabilità
di Bluetooth a bassa energia è limitato
alle comunicazioni tra l’orologio e il telefono.
Quindi ne parleremo di più mentre procediamo.
E viene caricato in modalità wireless utilizzando un caricatore magnetico,
quindi una carica tipica può durare per circa un giorno.
Quindi se non sei aggiornato, il tuo watchOS 2.0
in genere poi durerà per circa
otto, nove ore in media.
Ma se si aggiorna a watchOS 2.0,
la durata della batteria è in grado di durare
per circa 14 a 15 ore,
che è piuttosto impressionante, ok?
Quindi è il momento di aggiornare.
Ora, in termini di interazione con Apple Watch,
ci sono alcuni modi in cui puoi
interagire con l’Apple Watch.
E il primo è la tua corona digitale.
Quindi Digital Crown è la piccola manopola
dal lato dell’orologio, che ti permette di girare
e puoi usarlo per scorrere un elenco di elementi.
Puoi ingrandire e rimpicciolire le immagini.
E funge anche da pulsante Home,
quindi quando lo premi,
in realtà ritorna alla schermata Home.
Puoi anche utilizzare Force Touch sull’Apple Watch.
Quindi Force Touch sta diventando molto comune al giorno d’oggi.
Se hai un iPhone 6S o 6S +
sai cos’è Force Touch.
Quindi, è iniziato per la prima volta su Apple Watch,
e premendo forte sullo schermo
puoi effettivamente iniziare quello che viene chiamato Force Touch.
È molto simile a un clic con il pulsante destro del mouse sul desktop.
E ha questo Taptic Engine,
che fornisce un feedback tattile.
Quindi quando si scorre un elenco,
quando raggiungi la cima della lista,
ti darà una sorta di vibrazione
per dirti questo, “Ehi, hai davvero
“ha raggiunto la cima della lista.”
E quando arrivano i messaggi,
hai notifiche in arrivo,
ci sono diversi tipi di feedback,
tipo di vibrazioni,
che ti permette di distinguere
tra una notifica e l’altra.
Va bene?
Ora in watchOS 2.0, puoi farlo
accedere in modo programmatico al Taptic Engine,
il che significa che se lo desideri, nella tua applicazione,
vuoi avere certi tipi di vibrazioni,
puoi attivarlo in modo programmatico.
Quindi è qualcosa di interessante in watchOS 2.0.
Ora in termini di dimensioni di Apple Watch,
buone notizie.
In questo momento ci sono solo due taglie,
almeno agli sviluppatori.
Sai cosa intendo?
Quindi ci sono due taglie.
La prima dimensione è il 38mm
e l’altro, la dimensione più grande è il 42mm.
E dico buone notizie:
No AutoLayout!
Quelli di voi che hanno programmato iOS,
sai che AutoLayout è un dolore alla schiena.
Sì?
Quindi niente AutoLayout …
ancora.
Va bene?
Quindi non andare mai a parlare con Apple
e dire che vuoi un orologio di dimensioni diverse
perché se vuoi dimensioni diverse di Apple Watch,
un giorno implementeranno
AutoLayout su Apple Watch e il tuo incubo
passerà dalla tua piattaforma mobile al tuo orologio.
Va bene?
Quindi chi gode davvero di AutoLayout?
(Ride)
Continuiamo.
Quindi sospetto davvero che voi scriviate il codice Objective-C.
(Ride)
Parliamo un po ‘dell’architettura dell’app WatchKit.
In questo momento, la tua applicazione Apple Watch
è ancora dipendente dal tuo iPhone per la connettività.
Quindi, a sinistra, hai la tua app contenente iOS,
e sulla destra hai la tua app Watch.
E nell’app Watch, hai due componenti:
Per prima cosa, hai l’app WatchKit.
Hai l’app WatchKit.
E nella prossima diapositiva, ho intenzione di approfondire
quali sono le cose che hai in un’app WatchKit.
Ora, oltre all’app WatchKit,
hai anche l’estensione WatchKit.
Quindi questo è il posto dove hai tutti i tuoi file Swift,
il tuo codice.
E nell’app WatchKit,
questo è dove hai il tuo storyboard.
Quindi una buona notizia è la tua conoscenza nello storyboard
è molto applicabile quando sviluppi app di Apple Watch.
Esaminiamo la diapositiva precedente in maggiori dettagli.
Quindi se dai un’occhiata al diagramma qui,
questo è per watchOS 2.
Quindi a sinistra c’è il tuo iPhone
e hai la tua app per iOS
che accompagna la tua app Apple Watch.
E a destra, hai la tua app di Apple Watch,
e nella scatola blu, hai ciò che chiamiamo
la tua app WatchKit.
E hai il tuo storyboard, oltre alle tue risorse.
È qui che metti tutta la tua interfaccia utente
e dove metti tutte le tue risorse,
come i tuoi file di immagine, file HTML, per esempio.
E tu hai la tua logica, che è incapsulata
nella scatola gialla qui,
noto come estensione WatchKit.
L’estensione WatchKit è dove scrivi il tuo codice,
che si tratti di Swift o, nel tuo caso, di Objective-C.
La ragione per evidenziare questa particolare diapositiva
è perché nella versione precedente di watchOS,
che è watchOS 1.X,
questa estensione di WatchKit è in realtà su questo lato qui.
Questo significa che qualsiasi cosa con cui interagisci,
il tuo Apple Watch viene eseguito su iPhone.
Quindi nella prima versione di Apple Watch,
hai questo problema:
Esegui un’applicazione sul Watch,
si tocca un pulsante,
deve stabilire una connessione con il telefono.
Il telefono esegue,
ottenere i risultati, inviarlo di nuovo a questo ragazzo.
Quindi la lamentela principale sulla prima generazione di Apple Watch
è che la performance è davvero fiacca.
È molto lento.
Quindi in 2.0, in realtà lo trasferiscono su Apple Watch.
E allo strato inferiore qui,
il framework WatchKit fondamentalmente comunica
tra questi due dispositivi utilizzando Bluetooth a bassa energia.
Non devi sporcarti le mani
con Bluetooth a bassa energia.
Tutto è fatto in modo trasparente per te.
Questo è il modo in cui il tuo Apple Watch interagisce
con la tua app iOS contenente.
Quando si tratta di distribuire le tue applicazioni,
distribuisci il tuo pacchetto iOS.
Quindi questo è il tuo pacchetto iOS.
Hai la tua app iOS,
hai la tua app WatchKit,
così come la tua estensione WatchKit.
Quindi lo distribuisci come una singola unità.
Ciò significa che oggi, se vuoi sviluppare
qualsiasi applicazione per Apple Watch,
devi prima di tutto avere un’app per iPhone.
Quindi l’utente dovrebbe andare su App Store,
scarica la loro app, installala sul tuo iPhone.
Solo allora l’app di controllo potrebbe essere
installato sul tuo Apple Watch.
Va bene?
Ora quali sono i diversi tipi
di applicazioni Apple Watch che possiamo sviluppare?
Prima di tutto, possiamo sviluppare app native.
Quindi ti mostrerò una demo di un’app nativa in un attimo.
Quindi in watchOS 2.0, nelle tue app native,
puoi effettivamente accedere all’accelerometro.
Puoi accedere al Taptic Engine.
È possibile riprodurre file video.
Puoi fare input vocale.
Puoi inserire il testo.
Va bene?
Quindi questo è quello che puoi fare con le app native.
Puoi anche scrivere complicazioni.
Parleremo più tardi delle complicazioni
ma per ora, quali sono le complicazioni?
Le complicazioni sono fondamentalmente app
che fornisce i dati da visualizzare sui quadranti dell’orologio.
Quindi più avanti, ho una serie di diapositive
parlando solo di complicazioni.
Quindi arriveremo a quello in un momento.
Parleremo di notifiche.
Puoi anche sviluppare le notifiche.
Ora, per impostazione predefinita nell’app Apple Watch,
non devi fare nulla per supportare le notifiche.
Ogni volta che il tuo iPhone riceve una notifica,
verrà automaticamente inviato al tuo Apple Watch
se il tuo iPhone è in uno stato di sospensione.
Ma se stai usando il tuo iPhone
quando arriva una notifica,
la tua notifica andrà direttamente sul tuo iPhone.
Quindi, per impostazione predefinita, non devi fare nulla.
Ma, se come sviluppatore di applicazioni
vuoi abbellire i tuoi messaggi di notifica,
puoi anche scrivere applicazioni che supportano le notifiche.
Puoi anche scrivere ciò che chiamiamo sguardi.
Quindi gli sguardi sono fondamentalmente informazioni
che mostra lo stato della tua applicazione
e gli utenti possono effettivamente prendere il loro orologio,
scorrere dalla parte inferiore dello schermo,
scorri per vedere l’ultimo stato della tua applicazione.
Quindi, se lo desideri, puoi anche scrivere applicazioni
che supporta gli sguardi.
Quindi più avanti ti mostrerò una demo di quello che è uno sguardo.
Va bene, quindi per il beneficio di coloro che sono nuovi
allo sviluppo di Apple Watch,
Ho intenzione di correre attraverso un “Ciao, mondo!” applicazione
e poi passerà a parlare di complicazioni
così come guardare il quadro di connettività.
Ora, per Xcode 7, puoi selezionare subito
Applicazione sotto la categoria watchOS.
E in questo caso, seleziona Applicazione,
seleziona l’app iOS con l’app WatchKit,
e dargli un nome.
Quindi HelloAppleWatch.
Compila il resto del materiale.
Che lingua vuoi?
(Ride)
Dillo ancora?
– [Pubblico] Obiettivo-C!
– [Wei-Meng] Objective-C?
Molto bene, Swift.
(Ride)
Ora, se guardi in basso qui,
puoi effettivamente supportare le notifiche,
e cioè se hai il tuo
Applicazione Apple Watch scritta,
e quando arriva una notifica, puoi effettivamente
formattare le notifiche bene,
in modo che tu possa visualizzare nel modo che desideri.
Per ora, non siamo davvero interessati a questo,
stiamo per deselezionare ognuno di essi.
Deseleziona questo
E quindi fare clic su Avanti.
E lo salveremo sul nostro disco fisso.
Ora, se guardi il lato sinistro,
questo è il tuo solito sospettato:
il tuo AppDelegate,
il tuo ViewController,
il tuo Main.storyboard.
Quindi questa è la tua app contenente iOS,
quindi niente di veramente interessante da vedere qui.
Ora se guarderai qui da questa parte,
hai il tuo WatchKit.App,
hai il tuo WatchKit.Extension.
Ti ricordi la diapositiva che ti ho mostrato proprio ora?
Sotto WatchKit.App, hai il tuo Interface.storyboard.
Potresti cliccare su questo.
Vedrai qualcosa di molto familiare.
Vedrai il tuo buon amico qui,
il tuo InterfaceController.
Ora in un’app per iOS, viene chiamato ViewController
ma nel caso dell’Apple Watch,
vogliono solo essere diversi.
Non possono chiamarlo ViewController.
Chiamano questo InterfaceController.
E se vuoi popolare questo con alcune visualizzazioni,
o alcuni controlli,
puoi andare alla libreria degli oggetti qui
e puoi trascinare e rilasciare un pulsante
e puoi trascinare e rilasciare un’etichetta.
Quindi lascia che lo stenda un po ‘.
E se vuoi avere più di una schermata,
puoi sempre trascinare e rilasciare il controller dell’interfaccia
e quindi puoi creare il tuo lato.
Quindi, roba semplice.
Quindi, passiamo a un controller di interfaccia.
E se guardi la tua estensione,
la tua estensione ha un InterfaceController.swift.
Questo è molto simile a un ViewController.swift.
E come ho detto prima,
la tua estensione WatchKit contiene codice,
così come le tue risorse.
Quindi entriamo e scriviamo un codice semplice.
Quindi andiamo al pulsante Mostra Assistente Editor.
Quindi dividiamo lo schermo.
E creiamo uno sbocco per questa etichetta.
Quindi controlla la resistenza.
Chiamiamola etichetta, LBL, solo per semplicità.
E per il pulsante,
per il pulsante vogliamo creare un’azione,
quindi controlla, fai clic e crea un’azione,
e vogliamo dire che questo è un pulsante.
Clic.
Quindi abbiamo un’azione qui.
Così molto simile alla vecchia programmazione iOS,
per quelli di voi che hanno già familiarità con.
E se vuoi mostrare qualcosa nell’etichetta
quando fai clic sul pulsante,
puoi semplicemente farlo
un self.lbl.setText.
E tu dirai “Ciao!”
Va bene?
Così ora, quando hai finito, se guardi in alto qui,
hai due schemi disponibili.
Il primo è per la tua app per iPhone.
Il secondo è per la tua app per iPhone
più la tua app di Apple Watch.
Quindi selezionerò il secondo,
e io gestirò questo.
E il tuo simulatore dovrebbe apparire.
Quindi lascia che ti nasconda un po ‘.
Va bene.
Ok, questa è la tua prima applicazione Apple Watch.
Quindi quando fai clic su questo pulsante,
dovresti vedere un “Ciao!” Là.
Facile?
Sei impressionato?
(Ride)
Ok, non sembri molto colpito.
Ok, ora prendiamo questa volta
per navigare effettivamente su questo simulatore di Apple Watch.
Quindi se voglio simulare andando alla schermata Home,
ciò significa che voglio premere la corona digitale.
Quindi puoi eseguire un comando + shift hitch.
Quindi vai al, quello che chiamiamo “quadrante”.
Quindi ci sono diversi tipi di quadranti disponibili.
Quindi sul simulatore,
puoi effettivamente simulare diversi tipi di
passare tra diversi tipi di quadranti.
Così puoi simulare un tocco di forza,
in modo che tu possa effettivamente personalizzare il quadrante.
Quindi per simularlo, comando + shift + 2.
Quando clicco su quello, simulerò a
forza di tocco.
E dopo, se voglio simulare un tocco normale,
comando + maiusc + 1.
Quindi posso passare tra i diversi tipi di quadranti.
Quindi, in questo momento, voglio solo farti conoscere
con alcuni dei quadranti.
Puoi avere utilità.
Hai modulare.
Hai semplice
Movimento.
Lasso di tempo.
Astronomia.
Colore.
Album di foto.
Così via.
E per esempio,
se decidi di selezionare questo particolare quadrante,
puoi selezionare questo ragazzo,
e poi ti mostrerà l’ora corrente
e avere alcune animazioni per mostrarti
dov’è la posizione del sole.
Quindi se usi la tua corona digitale,
puoi effettivamente girarlo e quindi guardare l’animazione.
Quindi questo è abbastanza bello.
Va bene?
Puoi farlo tutto il giorno.
(Ride)
Quindi, ma comunque.
Va bene?
Ok, passiamo a un altro quadrante.
Quindi il mio preferito è questo.
Quindi ora questo quadrante ha un sacco di informazioni.
Quindi, ovviamente, questo è un orologio
quindi ovviamente hai il tempo:
04:14.
E oltre al tempo, hai ciò che chiamiamo “complicazioni”.
Se guardi le altre informazioni
che vengono visualizzati,
questo è ciò che chiamiamo complicazioni.
Va bene?
Quindi fammi tornare alla diapositiva
e poi torneremo su questo in un momento.
Va bene, parliamo di complicazioni.
Quindi quali sono le complicazioni?
Il nome sembra davvero complicato.
Quindi ora, per definizione, una complicazione
è fondamentalmente una funzione su un orologio
questo fa più che dire l’ora.
Se guardi questa immagine qui,
quante complicazioni ci sono?
Penso che sia abbastanza ovvio
se guardi il punto culminante in giallo.
Quanti sono lì?
Uno, due, tre, quattro, giusto?
Quindi questo è–
Cos’è questo?
Che tipo di dati è questo?
– [Pubblico] Informazioni sul volo.
– Informazioni di volo!
Che dire di questo?
Data.
Che dire di questo?
Non ne ho idea.
Che dire di questo?
Questo sembra familiare, giusto?
Volkswagen.
Probabilmente ti parla fondamentalmente dell’emissione del diesel.
(Ride)
Ok, sto scherzando.
Ad ogni modo, ora abbiamo già guardato
ai vari quadranti.
Ora, diciamo che voglio cambiare le complicazioni
che vengono visualizzati su questo quadrante.
Cosa faccio?
Quindi fondamentalmente faccio un tocco di forza,
clicca su questo ragazzo,
e seleziono Personalizza
e posso effettivamente personalizzare
l’aspetto di questo particolare quadrante.
Posso cambiare il colore,
e se lo faccio scorrere verso destra,
Sarò in grado di visualizzare e cambiare
i diversi tipi di dati di complicanze.
Quindi in questo momento, ho selezionato
questa particolare complicazione
e quello che posso fare è che posso usare la mia corona digitale.
Posso scorrere
e posso passare a diversi tipi di applicazioni.
Quindi, per impostazione predefinita, ha l’alba, il tramonto.
Ha il tempo.
Ha il cronometro.
Così via.
Quindi cosa dobbiamo fare più tardi
è che scriveremo la nostra applicazione
per pompare i dati da visualizzare sul quadrante.
Va bene?
Quindi ci sono diversi tipi di quadranti.
Quindi se selezioni questo ragazzo qui,
puoi cambiarlo per visualizzare la faccia della luna,
mostra il cronometro, così via e così via.
Quindi questo è il modo in cui personalizzi le tue complicazioni.
Ora, cosa è importante per te come sviluppatore?
Pensa ai tipi di dati che desideri visualizzare
sul quadrante dell’utente, ok?
Quindi, pensaci.
Quali sono le cose che puoi effettivamente mostrare?
Ora, prima di parlarne,
ci sono dei quadranti
che non supportano le complicazioni.
Sono Motion, X-Large, TimeLapse, Astronomy,
Album fotografico, foto e solare.
Non supportano complicazioni.
Ora la prossima funzione che hai
è ciò che chiamiamo Viaggio nel tempo.
Viaggio nel tempo.
Ora, guarda questo esempio qui.
Questi due diagrammi.
Ho la complicazione del tempo qui,
mostra il tempo corrente.
E se accendo la mia corona digitale,
Sarò in grado di visualizzare le previsioni del tempo
quattro ore da ora.
Va bene?
Ora, se lo restituisco nell’altra direzione,
Posso visualizzare i dati meteorologici
è passato il tempo corrente
ma la maggior parte delle volte non ti interessa.
Tu sei solo–
Per le previsioni del tempo, sei interessato solo
nel futuro.
Non ti importa di che tempo fa
due ore fa, giusto?
Quindi questo è ciò che chiamiamo Viaggio nel tempo.
Ma ci sono molti casi
dove vorresti visualizzare i dati
questo è già stato–
È finita.
Così come gli eventi che stanno arrivando.
Va bene?
Quindi più avanti ti mostrerò un esempio.
Quindi Time Travel è qualcosa di nuovo in watchOS 2.0.
E la cosa interessante è che come sviluppatore,
puoi effettivamente scrivere applicazioni per supportare Time Travel.
E ti consente di tornare indietro o avanti veloce.
E alcuni esempi:
Previsioni del tempo, in modo che tu possa effettivamente
visualizzare le previsioni del tempo per i prossimi due giorni
se lo desidera.
Prezzi delle azioni
(Ride)
Sarà interessante.
Se è possibile visualizzare i prezzi delle azioni
di un particolare stock a due ore da ora
avresti un’app killer
e questa è la fine della presentazione di oggi.
(Ride)
Non hai più il discorso.
Va bene?
Ma troppo male non puoi farlo.
Ma se qualcuno può effettivamente scrivere un algoritmo
per visualizzare i prezzi delle azioni
di un particolare stock
nel futuro,
Chiamami.
Va bene?
Ora di nuovo, ci sono dei quadranti
non compatibile con Time Travel.
Qui sono sul lato sinistro.
E sul lato destro ce ne sono alcuni
guarda facce che hanno il loro viaggio nel tempo.
Non puoi programmarli, ma è già integrato,
come l’astronomia.
Quindi non sono sicuro di aver visto la demo.
Se passi al …
Ok, questo è fantastico
Quindi se guardi questo,
quindi puoi effettivamente far girare la Terra.
Non girare davvero la Terra,
ma ottieni ciò che intendo.
Ok, quindi guardi l’ora
puoi cambiare il tempo,
e puoi vedere dove splende il sole.
Ok, ora andiamo avanti.
Ora, come sviluppatore, come stai
supporta effettivamente le complicazioni nella tua app?
Fai uso di questo quadro
noto come il framework ClockKit.
E hai semplicemente bisogno di attuare
il protocollo CLKComplicationDataSource.
Quindi, quelli di voi che hanno familiarità con lo sviluppo di iOS,
di nuovo è il solito modello di design delegato del protocollo.
Quindi devi solo familiarizzare con questo protocollo.
Quindi hai solo bisogno di implementare questo particolare protocollo,
i metodi all’interno di questo protocollo.
Quindi fammi fare uno veloce.
Quindi implementa i seguenti metodi,
getSupportedTimeTravelDirections.
Quindi vuoi indicare se vuoi
l’utente deve essere in grado di avanzare o riavvolgere rapidamente.
È possibile specificarlo a livello di programmazione.
E qual è la prima ora di inizio
che vuoi visualizzare i dati?
Quindi quando riavvolgi,
qual è la prima data che vuoi mostrare?
E quando vai avanti veloce,
qual è l’ultima data che vuoi mostrare?
E se vuoi che i tuoi dati vengano visualizzati
anche nell’orologio è bloccato,
come quando toglie l’orologio dal suo polso.
E tu vuoi mostrare i tuoi dati attuali.
E tu vuoi anche …
Quali altri dati che si desidera visualizzare per riavvolgere?
Quindi, quando si riavvolge la volta precedente,
quali sono i dati, quali sono le voci,
vuoi mostrare?
Quali sono i dati da visualizzare per eventi futuri?
E quanto spesso aggiorni i dati?
E cosa mostri effettivamente?
quando l’utente seleziona la tua complicazione?
Quindi ti mostrerò una demo veloce dopo questo.
Quindi, prima di guardare le demo,
questi sono i posti dove puoi
posiziona effettivamente i tuoi dati di complicanze.
Quindi, ad esempio, nella versione attuale,
Apple supporta cinque tipi principali di posizionamento delle complicazioni.
Il primo è Modular Small,
che si trova sul lato sinistro,
e poi hai il Modular Large.
Hai l’utilitario piccolo e grande,
così come Circular Small.
Ora, i diversi posizionamenti qui
in pratica significa che è possibile visualizzare
diversi tipi di dati.
Ad esempio, puoi visualizzare un anello se lo desideri,
oppure puoi visualizzare due righe di testo.
Quindi ho una diapositiva per mostrarti alcuni esempi.
Quindi, in termini di modelli,
questi sono i vari modelli
che puoi usare per visualizzare i tuoi dati di complicanze
su diverse parti del quadrante.
E questo è un esempio.
Quindi, per esempio, se hai selezionato
ComplicationTemplateModularSmallColumnsText,
quindi questo è quello che ottieni.
Quindi in questo caso puoi mostrare i tuoi dati
in due righe e due colonne.
Quindi all’interno di questo particolare modello di posizionamento,
hai quattro campi di testo
per te per mostrare i tuoi dati.
Ma se pensi che questo non è quello che vuoi,
puoi selezionare un altro modello, ad esempio chiamato
ModularSmallRingImage,
dove puoi visualizzare un’immagine,
e allo stesso tempo puoi visualizzare un anello.
E un anello può essere
stile chiuso o aperto.
Quindi per esempio vuoi mostrare la valutazione di un oggetto,
quindi puoi usare questo per rappresentare
un cerchio completo, 1.0.
Se vuoi rappresentare 0.75,
potresti avere un anello di tre quarti.
Quindi puoi avere uno stile aperto o chiuso.
Quindi hanno un intero gruppo
di diversi modelli disponibili.
È possibile fare riferimento alla documentazione.
Hanno un intero elenco di diagrammi
mostrando quali tipi di posizionamenti puoi avere.
Quindi ti mostrerò una demo.
Quindi ho intenzione di immaginare
che sono un operatore cinematografico.
Quindi la mia compagnia riproduce film,
così che io gestisca il cinema.
Quindi se vuoi vedere un film in particolare,
puoi aggiungere i dati della mia azienda
sul tuo quadrante,
e quando stai pensando di guardare un film,
puoi effettivamente trasformare la tua corona digitale
e dì “Ok, alle 5:00 di oggi, che film sta mostrando?”
E poi puoi girare.
“7:00,
“Qual è il prossimo film?”
E se vuoi, puoi sempre riavvolgere,
e dì “Ok, 1:00.
“Qual era il film che veniva giocato in quel momento?”
Una simulazione molto semplice qui.
Ho una serie di strutture
e queste strutture rappresentano il nome del film,
il tempo di esecuzione del film,
quanti minuti,
quando sta per giocare,
e qual è la valutazione.
Quindi per mantenere le cose semplici,
questo diagramma riassume sostanzialmente
i film che stanno giocando in futuro
e quei film che sono già stati riprodotti
per le ultime ore.
Quindi questa è l’ora corrente,
e quando scrivo la mia domanda
Lo dirò nei prossimi minuti
Suonerò questo film chiamato
“Lions di seconda mano”,
e poi due ore dopo giocherò
“The Dark Knight”, così via e così via.
E quando eseguo la demo,
puoi vederlo mentre scorri la corona digitale,
sarai in grado di vedere tutti questi diversi film
visualizzato sul quadrante.
Ok, quindi facciamolo uno veloce.
Quindi carichiamo questo progetto.
Ok, quindi film …
Va bene.
Va bene.
Ok, eseguiamolo.
Ok, ora prima le cose,
Devo cambiare il quadrante
a uno che supporta la complicazione.
Quindi tornerò al mio modulare.
Seleziona questo ragazzo.
Personalizzalo.
Cambia questo alla mia complicazione.
Quindi ho intenzione di attraversarlo.
E questa sarà la mia complicazione.
Quindi, per impostazione predefinita, visualizzo l’ora corrente,
Visualizzo il testo Nome film,
Tempo di esecuzione.
Quindi, una volta che l’ho selezionato,
Selezionerò anche un altro posto
dove posso mostrare un’altra complicazione
dalla mia domanda.
Ora, in questa applicazione,
Ho intenzione di supportare due diversi posizionamenti.
Uno è il grande modulare
e uno è nel Piccolo modulare.
Quindi se mi occupo di questo,
Sarò in grado di vedere questa cosa chiamata
App WatchKit di film.
E in questo caso, mostro un cerchio,
seguito dalla R per la valutazione,
qual è la valutazione di questo film.
Una volta che ho finito, seleziona questo ragazzo.
Quindi questo è il film attuale che sta suonando.
Se guardi il diagramma che hai visto in precedenza su …
Quindi l’ora corrente è questo film.
E ho intenzione di scorrere questo.
Userò la mia corona digitale.
Scorri questo.
E come te, oops …
Mentre riavvolgi, vedrai i film
che hanno suonato in precedenza.
E se vai avanti, vedrai i film
che giocherà nelle prossime ore.
Va bene?
E noti anche che in fondo,
mentre scorri,
la valutazione cambierà
insieme al nome del film che verrà riprodotto.
Quindi se cambi questo, lo vedrai
a volte nove, a volte otto,
quindi dipende dal film che sta per suonare.
Va bene?
Quindi questo è un dato di complicazione.
Quindi andiamo avanti.
La prossima cosa importante che puoi sviluppare è
usando questa cosa chiamata WatchKit Connectivity Framework.
Ora, un rapido richiamo:
Se guardi il diagramma che hai visto in precedenza,
la tua applicazione iPhone è su iPhone
e la tua applicazione Apple Watch
è sull’Apple Watch.
Ma molte volte vuoi
per comunicare con il tuo Apple Watch.
Come lo fai davvero?
Ora nella versione 1.0, le cose sono molto semplici,
perché questo ragazzo è qui
e puoi chiamare direttamente questa app per iOS.
Non abbiamo grandi problemi.
Ma in 2.0, hai un problema.
Entrambi sono su isole diverse.
Quindi come lo risolvi?
Fai uso di questo quadro
conosciuto come il WatchKit–
Watch Watch Framework.
Quindi il quadro di connettività dell’orologio
supporta due tipi di comunicazione:
comunicazione di base
così come la comunicazione dal vivo.
Ora per le comunicazioni in background,
hai tre diverse modalità:
contesto applicativo,
informazioni utente,
trasferimento di file.
Per la messaggistica interattiva,
hai inviato un messaggio.
Quindi cosa stanno facendo tutti questi metodi diversi?
Lascia che ti mostri.
Quindi, prima cosa,
parliamo del trasferimento in background.
E ha questa modalità conosciuta come contesto applicativo.
Ora guarda questo diagramma.
Sta comunicando dal telefono all’Apple Watch.
Ora per semplicità,
Ti sto mostrando questa è una direzione,
ma è vero anche il contrario.
Puoi anche comunicare
da Apple Watch a iPhone.
Quindi immaginiamo che sto cercando di inviare
tre dizionari: A, B, C.
Quindi dal momento che si tratta di un trasferimento in background,
quando invio un dato,
il primo dizionario oltre a questo lato,
questa applicazione Apple Watch non deve essere in esecuzione.
Quindi se questa applicazione non è in esecuzione,
bufferizzerà questo dizionario A.
E poi allo stesso tempo, mando B.
Quando invio B, poiché l’A è ancora in attesa,
B sostituirà A.
E se invio C,
C verrà qui, guarda B, scavalca B.
Quindi in questo caso, il tuo Apple Watch
riceverà sempre i dizionari più recenti
inviato dal tuo iPhone.
Quindi questo che chiamiamo contesto applicativo.
Ora quali sono i casi d’uso?
Quindi questo è molto utile per l’aggiornamento dello stato dell’applicazione.
Quindi per esempio,
stai scrivendo un’applicazione meteo.
Vuoi mostrare l’ultimo se sugli sguardi.
Quindi, in questo caso, l’utente è interessato solo
nelle informazioni meteorologiche più recenti.
Quindi nel caso tu possa usare il
metodo di contesto applicativo.
Il prossimo, trasferimenti in background.
Se guardi questo diagramma, è abbastanza ovvio.
Quindi quando invio A, B, C,
A, B, C saranno tutti messi in coda qui,
quindi non collasserà.
Quindi, quando l’applicazione Apple Watch arriva in primo piano,
riceverà i dati nell’ordine
che è stato inviato da iPhone.
Quindi questa è l’informazione dell’utente.
Allora, qual è il caso d’uso per questo?
Utile per i giochi in cui le modifiche su un dispositivo
deve essere sincronizzato sull’altro dispositivo.
Va bene?
Dove non puoi permetterti
perdere una singola informazione
Terzo, trasferimento di file,
e questo è quando vuoi trasferire i dati
diverso dal dizionario.
Vuoi trasferire le immagini, per esempio.
Quindi in questo caso, mandi la tua immagine
insieme con un dizionario opzionale.
Tu invii.
È accodato e bufferizzato,
e quando l’applicazione arriva in primo piano,
è spinto all’applicazione.
Quindi i tre metodi precedenti
sono tutti basati sul trasferimento in background.
L’ultimo, parla dell’uso–
Siamo spiacenti, il caso d’uso per questo particolare trasferimento di file
è quando vuoi inviare immagini
tra i dispositivi.
Basta ignorare questo diagramma,
sembra davvero spaventoso.
Ok, ora l’ultimo:
comunicazioni interattive.
In questo diagramma, il mio iPhone
vuole inviare un messaggio al mio Apple Watch,
e allo stesso tempo,
una volta che ho inviato i dati all’Apple Watch,
Voglio una risposta dall’Apple Watch
e l’Apple Watch sarebbe in grado di darmi una risposta.
Va bene?
Allo stesso modo, su Apple Watch, posso anche
invia una richiesta a iPhone,
ottenere l’iPhone per elaborarlo,
restituiscimi i dati che voglio,
restituiscilo a me
Quindi questa modalità è più eccitante.
Perché?
Questi sono i due scenari che possono accadere:
Quando l’Apple Watch invia un messaggio a iPhone,
e se la tua app per iPhone è in background,
o non è nemmeno in esecuzione,
eseguirà automaticamente la tua app,
la tua app per iPhone, in background.
E puoi davvero fare un sacco di cose interessanti
come la domotica, cose del genere.
Ma quando succede il contrario,
se l’iPhone invia un messaggio all’Orologio,
e l’app Watch non è in esecuzione,
la comunicazione fallirà.
Va bene?
Quindi in questo caso, vedi l’Apple Watch
ha una priorità più alta.
Quindi quali sono le cose che puoi sviluppare?
Ad esempio, puoi usare il tuo orologio e dire,
“Ehi, Siri?”
E poi puoi dire,
“Avvia la mia app.”
E quando lanciano la tua app,
la tua app sarà in primo piano.
Tocchi un pulsante e chiudi la porta del garage.
Quindi il comando verrebbe inviato all’orologio
attraverso il tuo telefono,
e il tuo telefono si connetterebbe al tuo
rete di automazione domestica
e puoi sbloccare la porta del tuo garage.
Quindi queste sono le cose a cui puoi pensare.
Va bene?
Quindi questo uno dei casi d’uso.
Mostrarti–
Ora, non ho intenzione di mostrarti questa demo
perché quando collego questo al mio PC,
non sei in grado di vedere il controllo del volume
ma ho scritto un esempio molto semplice
dove puoi effettivamente distribuire questa applicazione
sul tuo telefono, così come sul tuo Apple Watch,
e puoi controllare il tuo volume sul tuo Apple Watch.
Quindi se clicchi sul +,
il volume qui aumenterà.
Va bene?
Quindi se vuoi scaricare il codice sorgente
è disponibile nel link in precedenza.
Puoi scaricare e divertirti.
Ho una demo che voglio mostrarti.
Spero di avere tempo.
Ho tempo?
– [Man] Tre minuti.
– [Presentatore] Tre minuti?
Va bene, quindi, comunicazioni.
Va bene.
Quindi ti mostrerò che–
Ho intenzione di inviare alcuni dati dal mio orologio al mio telefono
e ti mostrerò i diversi metodi
che puoi avere in modo che tu possa vedere da solo.
Ora, ti mostrerò il contesto dell’applicazione.
Ricorda, se invio tre dizionari,
cosa verrebbe ricevuto sull’obiettivo?
Se invio tre dizionari,
solo l’ultimo dizionario sarebbe stato ricevuto, giusto?
Quindi lascia che ti mostri questo.
Se clicco su questo contesto applicativo tre volte,
uno due tre,
e poi lancio la mia applicazione,
lo mostrerà una volta.
Va bene?
Ora, lascia che ti provi che non ti sto mentendo.
Se clicco su questo, riceverai un dato.
Se clicco su questo, riceverai un dato.
Va bene?
Quindi cerchiamo …
Oops, lasciami solo …
Lasciami solo fare la coda
Ok, questa app è in coda.
Ok va bene.
Quindi, il secondo metodo, informazioni utente.
Quindi se clicco due volte o tre volte,
i tre dizionari verrebbero bufferizzati
e consegnato a questo ragazzo.
Quindi uno, due, tre.
Non sono sicuro di aver fatto clic due volte o tre volte
ma lo lancerò.
Tre volte.
Va bene?
Ora, quindi facciamo la fila a questo tizio
e farò un trasferimento di file.
Quindi invierò un dizionario
insieme con un’immagine a questo ragazzo.
Quindi faccio clic una volta su Trasferimento file.
Se clicco sull’app di comunicazione,
Otterrò l’immagine che è stata inviata.
Va bene?
E l’ultimo,
Posso fare clic sul messaggio di invio.
Se clicco su Invia–
Quello che ho fatto è stato in realtà
stampa questo nella finestra superiore per provarlo
quando invio un messaggio al telefono,
il telefono in realtà mi risponde con alcuni dati.
E se dovessi lanciare questa app,
porta questo,
sarai in grado di vedere i dati
che è stato inviato a quel telefono.
Va bene?
Quindi perché questa è una sessione di 50 minuti,
è davvero abbastanza difficile vedere tutto
in tutti i dettagli ma spero che questo ti dia
un buon sapore di come comunicare
tra l’app Watch e l’app iOS.
Va bene?
E il codice di esempio per questo è di nuovo
disponibile per il download.
Quindi scarica questo,
usa questo come modello,
sarai in grado di inviare dati tra i due dispositivi.
Va bene?
Quindi penso di avere un’ultima diapositiva.
Ok, quindi quali sono alcuni dei suggerimenti
sviluppare le tue app Watch killer?
Per prima cosa, so che hai un sacco di app mobili,
ma non stipare tutta l’interfaccia utente nelle app mobili
sull’orologio, ok?
Perché non funzionerà.
Quindi pensa all’orologio
come un’estensione del tuo telefono
e usarlo per migliorare l’esperienza
della tua app mobile.
Quindi la domotica, come ho detto prima,
è un ottimo candidato per il tuo Apple Watch.
Quindi, cose come, puoi effettivamente sbloccare la porta del tuo garage
molto facilmente usando Siri,
e quindi puoi premere il pulsante,
parla al tuo telefono,
il tuo telefono attiva il tuo progetto di automazione domestica.
Così via.
Va bene?
Ok, quindi penso di essere quasi alla fine.
Quindi, domande?
– [Man] Non penso, in realtà,
c’è abbastanza tempo per le domande in questo momento.
– Va bene.
– Ma sono sicuro che probabilmente lo farai
rispondere alle domande qui in seguito o qualcosa del genere–
– Sicuro.
– Tempo scaduto, quindi grazie mille Wei-Meng.
– Grazie.
– E per favore dagli una mano.
(applausi)
– Grazie.

Please follow and like us: