WWDC 2018 Diario di uno sviluppatore iOS
Pubblicato: 2022-03-10I tradizionali confini dell'estate negli Stati Uniti sono il Memorial e il Labor Day, ma gli sviluppatori iOS segnano l'estate dal WWDC e dal rilascio di iPhone. Anche se il clima è fresco e piovoso questa settimana a New York, sono di umore estivo e non vedo l'ora del rinnovo che l'estate e la promessa del WWDC.

È la mattina del 4 giugno e sto rivedendo i miei appunti del WWDC 2017. L'anno scorso, ho scritto che ARKit e Core ML erano due dei grandi momenti salienti. È stato piacevole vedere Apple concentrarsi su Machine Learning (ML), ma non c'è stato molto seguito nel resto del 2017. ARKit ha suscitato un certo interesse, ma nessuna app killer (forse Pokemon Go, ma era popolare prima di ARKit) . Apple non ha aggiunto alla sua libreria iniziale di modelli scaricabili Core ML dopo l'annuncio di Core ML.
Apple ha rilasciato Turi Create e Lobe ha rilasciato un nuovo interessante modellista Core ML il mese scorso. Nello spazio Apple/ML, il creatore di Swift, Chris Lattner, sta adottando un approccio diverso con Swift per TensorFlow. Ma dall'esterno, Core ML sembra avere principalmente un uso ovvio: la classificazione delle immagini. Non sembra esserci molta energia nell'esplorazione di applicazioni estremamente diverse (anche se sappiamo tutti che il ML è al centro delle auto a guida autonoma e delle demo strepitose come Google Duplex).
Un altro modo in cui Apple utilizza ML è in Siri e all'inizio di quest'anno ho scritto di SiriKit e ho menzionato le sue carenze percepite e reali rispetto ad Alexa e Google. Un problema che ho esplorato è stato il modo in cui l'enfasi di Siri sugli intenti predefiniti limita la sua portata ma non ha prodotto la precisione promessa che potresti ottenere da una messa a fuoco limitata.
L'introduzione di HomePod l'anno scorso ha evidenziato solo i problemi di Siri e un sondaggio sulla soddisfazione dei clienti ampiamente riportato ha mostrato una soddisfazione del 98% con iPhone X ma solo una soddisfazione del 20% con Siri.
Con tutto questo nella parte posteriore della mia mente, personalmente speravo di sentire che Apple avrebbe apportato alcuni importanti miglioramenti in AR, ML e Siri. In particolare, come sviluppatore iOS, volevo vedere molti più modelli Core ML, che andavano oltre la semplice classificazione delle immagini e più aiuto nella creazione di modelli. Per Siri, volevo vedere molti più intenti e forse qualche indicazione che gli intenti sarebbero stati una cosa che sarebbe stata aggiunta tutto l'anno. È stato un colpo lungo, ma per AR il passo successivo è un dispositivo. Ma nel frattempo, speravo in una maggiore precisione spaziale.
Infine, adoro i libri Xcode Playgrounds e iPad Playground, ma devono essere molto più veloci e stabili, quindi speravo in qualcosa anche lì.
La mattina del WWDC, ho twittato questo:

Questa non era una previsione. È solo un elenco di cose che volevo usare nel 2017, ma le ho trovate sottodimensionate o troppo difficili per me con cui iniziare e speravo che Apple apportasse alcuni miglioramenti.
Il mio piano per la giornata è guardare il keynote dal vivo e poi guardare il Platforms State of the Union. Questi forniscono una buona panoramica su cosa concentrarsi per il resto della settimana.
Fine del giorno 1: il keynote e lo stato delle piattaforme dell'Unione
Il primo giorno del WWDC è il keynote, che è destinato al consumo pubblico, e il Platforms State of the Union, che è una panoramica dell'intero evento, con alcuni dettagli per gli sviluppatori in modo che possano scegliere a quali sessioni partecipare.
Riepilogo di importanti annunci di sviluppatori non iOS
Il WWDC non riguarda interamente lo sviluppo di iOS, quindi ecco un breve elenco di altre cose che sono accadute alle altre piattaforme o che non sono molto focalizzate sugli sviluppatori.
- Per toglierlo di mezzo, non c'erano affatto annunci sull'hardware . Nessuna anteprima e nessun aggiornamento su Mac Pro. Dovremo aspettare l'iPhone e gli eventi successivi in autunno.
- iOS 12 ha una nuova app Shortcuts che sembra essere il risultato dell'acquisizione di Workflow. È un modo per "scrivere" una serie di passaggi tramite trascinamento della selezione . Puoi anche assegnare il collegamento a una parola chiave Siri, che tratterò di seguito.
- iOS raggrupperà automaticamente le notifiche che provengono dalla stessa app e ti consentirà di agire su di esse come gruppo.
- Gli Animoji ora possono imitarti mentre sporgi la lingua e i nuovi Memoji sono volti umani altamente configurabili che puoi personalizzare per assomigliare a te stesso.
- FaceTime supporta la chat video di gruppo fino a 32 persone.
- C'è una nuova app Screen Time che ti fornisce rapporti sull'utilizzo del telefono e dell'app (per aiutarti a controllarti ed essere meno distratto). È anche la base di nuovi controlli parentali.
- Apple TV ha ricevuto un piccolo aggiornamento: supporto per Dolby Atmos e nuovi screen saver presi dalla Stazione Spaziale Internazionale .

- The Watch ha una modalità competizione per sfidare gli altri a sfide legate all'allenamento. Proverà anche a rilevare automaticamente l'inizio e la fine degli allenamenti nel caso in cui ti dimentichi di avviarli o interromperli, e ora ha allenamenti di escursionismo e yoga.
- L'orologio ha anche una nuova modalità Walkie-Talkie che puoi abilitare per i contatti fidati.
- Ci sono più SDK audio nativi su Watch e l'app Podcast di Apple è ora disponibile. Mi aspetto che anche le app di podcast di terze parti traggano vantaggio da questi nuovi SDK.
- Il Mac ha ottenuto il punto di ancoraggio dell'evento (che si spera sia un'indicazione di rinnovata attenzione). Si chiamerà macOS Mojave e presenta una modalità oscura .
- Ci sono grandi aggiornamenti per il Mac App Store, ma in particolare, ora ottiene lo stesso trattamento visivo e di contenuto che l'App Store iOS ha ricevuto l'anno scorso. Ci sono abbastanza modifiche alla sandbox che Panic ha deciso di riportare Transit lì .
- Quick Look nel Finder ora ha alcune semplici azioni che puoi eseguire sul file (ad esempio ruotare un'immagine) ed è personalizzabile tramite Automator.
- Mojave sarà l'ultima versione di macOS a supportare app e framework a 32 bit , il che significa che Quick Time Framework non sarà più disponibile. Apparentemente è stato sostituito con alcune funzionalità di acquisizione video nel sistema operativo stesso.
- Apple ha annunciato che sta utilizzando internamente una porta di UIKit per creare app per Mac e ha mostrato le porte di azioni, notizie, casa e memo vocali. Il nuovo framework sarà rilasciato nel 2019.
Gli annunci degli sviluppatori iOS di cui sono più entusiasta
Anche gli sviluppatori iOS hanno ricevuto buone notizie. Hanno colpito le quattro aree principali su cui volevo vedere miglioramenti:
- SiriKit ora ha intenti personalizzati , il che apre un po' le possibilità.
- Create ML è un nuovo modo di utilizzare Xcode Playgrounds per addestrare i modelli tramite il transfer learning , che consente di aumentare i modelli esistenti con i propri dati di training .
- I playground di Xcode ora ti consentono di aggiungere codice in fondo a una pagina ed eseguirlo senza riavviare . È difficile sapere se Playgrounds sarà più stabile fino a quando non avremo una vera versione a settembre, ma questo renderà il tentativo di codice molto più veloce.
- ARKit 2 è stato annunciato insieme a un nuovo formato di file di Realtà Aumentata chiamato USDZ , che è aperto ed è stato sviluppato con Adobe e Pixar. Adobe ha già annunciato alcuni strumenti di supporto. Consentirà a utenti e sviluppatori di archiviare e condividere risorse ed esperienze AR. Inoltre, ARKit 2 consente a più dispositivi di trovarsi nello stesso ambiente AR e supporta il rilevamento di oggetti 3D.
Non abbiamo ricevuto un dispositivo AR, ma sembra che ne avremo uno presto. E deve provenire da Apple (non da terze parti) perché l'esecuzione di ARKit richiede un dispositivo iOS.
Configurare la tua macchina
Tutto ciò di cui hai bisogno è ora disponibile nel portale per sviluppatori. Per utilizzare il codice nell'articolo, è necessario Xcode 10 Beta. Non consiglierei di utilizzare ancora iOS 12 Beta, ma se lo desideri davvero, vai al portale sul tuo dispositivo e scarica il profilo di configurazione iOS 12 Beta.
L'unica cosa importante per cui hai bisogno di un dispositivo con la beta è ARKit 2. Tutto il resto dovrebbe funzionare abbastanza bene nel simulatore di Xcode 10. A partire dalla prima beta, il supporto di Siri Shortcut nel simulatore è limitato, ma c'è abbastanza per pensare che verrà risolto nelle versioni future.
Fine del giorno 2: giocare con gli intenti personalizzati di Siri
L'anno scorso, ho scritto come dovevi adattarti a uno degli intenti predefiniti di Apple per utilizzare SiriKit nella tua app. Questo meccanismo è stato introdotto nel 2016 e aggiunto nel 2017 e anche tra gli eventi del WWDC. Ma era chiaro che l'approccio di Amazon agli intenti personalizzati era superiore per ottenere il controllo vocale in app più diverse e Apple lo ha aggiunto a SiriKit la scorsa settimana.
Per essere chiari, questa è una prima implementazione, quindi non è ancora così ampia come Alexa Skills, ma apre un po' le possibilità di Siri. Come ho discusso nell'articolo precedente, il limite principale degli intenti personalizzati è che lo sviluppatore deve eseguire tutta la traduzione della lingua. SiriKit aggira un po' questo problema chiedendo all'utente di fornire la frase che vorrebbe usare, ma c'è ancora più traduzione necessaria per gli intenti personalizzati che per gli intenti predefiniti.
E si basavano sulle stesse fondamenta degli intenti predefiniti, quindi tutto ciò che ho trattato si applica ancora. In effetti, ti mostrerò come aggiungere un nuovo intento personalizzato a List-o-Mat, l'app che ho scritto per l'articolo originale di SiriKit.
(gratuito) Supporto Siri Shortcut se supporti già Spotlight
Se usi NSUserActivity
per indicare cose nella tua app che il tuo utente può avviare tramite trasferimento o ricerca, è banale renderle disponibili anche a Siri.
Tutto quello che devi fare è aggiungere la seguente riga al tuo oggetto attività:
activity.isEligibleForPrediction = true
Funzionerà solo per le attività abilitate per Spotlight (dove isEligibleForSearch
è true
).
Ora, quando gli utenti svolgono questa attività, viene considerata donata per l'utilizzo in Siri. Siri consiglierà attività molto comuni o gli utenti possono trovarle nell'app Scorciatoie. In entrambi i casi, l'utente potrà assegnare la propria frase parlata per avviarla. Il tuo supporto per l'avvio dell'attività tramite Spotlight è sufficiente per supportarne l'avvio tramite una scorciatoia.
In List-o-Mat, potremmo rendere disponibili i singoli elenchi a Spotlight e Siri costruendo oggetti attività e assegnandoli a ListViewController
. Gli utenti potrebbero aprirli tramite Siri con la propria frase.
Nel nostro caso è ridondante perché avevamo un intento predefinito per l'apertura di un elenco, ma la maggior parte delle app non è così fortunata e ora ha questo semplice meccanismo. Quindi, se la tua app ha attività che non sono supportate dagli intenti predefiniti di Siri (ad esempio la riproduzione di un podcast), puoi semplicemente renderle idonee per la previsione e non preoccuparti degli intenti personalizzati.
Configurazione di SiriKit per l'utilizzo di intenti personalizzati
Se è necessario utilizzare un intento personalizzato, è necessario aggiungere SiriKit all'app, il che richiede un po' di configurazione.
Tutti i passaggi per la configurazione di SiriKit per gli intenti personalizzati sono gli stessi degli intenti predefiniti, che sono trattati in dettaglio nel mio articolo SiriKit qui su Smashing. Riassumere:
- Stai aggiungendo un'estensione, quindi hai bisogno di un nuovo ID app e Siri ha aggiunto il profilo di provisioning e le esigenze dei diritti della tua app.
- Probabilmente hai bisogno di un gruppo di app (è il modo in cui l'interno e l'app comunicano).
- Avrai bisogno di un'estensione di intenti nel tuo progetto
- Ci sono chiavi .plist specifiche per Siri e diritti di progetto che devi aggiornare.
Tutti i dettagli possono essere trovati nel mio articolo SiriKit, quindi tratterò solo ciò di cui hai bisogno per supportare un'intenzione personalizzata in List-o-Mat.
Aggiunta di un comando Copy List a List-o-Mat
Gli intenti personalizzati sono pensati per essere utilizzati solo dove non esiste un intento predefinito e Siri offre effettivamente molti elenchi e supporto per attività nel suo dominio Siri Lists e Notes.
Tuttavia, un modo per utilizzare un elenco è come modello per una routine o un processo ripetuto. Per farlo, vorremo copiare un elenco esistente e deselezionare tutti i suoi elementi. Gli intenti List incorporati non supportano questa azione.

Innanzitutto, dobbiamo aggiungere un modo per farlo manualmente. Ecco una demo di questo nuovo comportamento in List-o-Mat:

Per fare in modo che questo comportamento sia invocabile da Siri, "donaremo un intento", il che significa che lo diremo a iOS ogni volta che lo fai. Quindi, alla fine imparerà che al mattino ti piace copiare questo elenco e offrirlo come scorciatoia. Gli utenti possono anche cercare gli intenti donati e assegnare frasi manualmente.
Creazione dell'intento personalizzato
Il passaggio successivo consiste nel creare l'intento personalizzato in Xcode. C'è un nuovo modello di file, quindi:
- Scegli File → Nuovo file e seleziona "File di definizione intento SiriKit".
Scegli di aggiungere un file di definizione dell'intento (Anteprima grande) - Assegna un nome al file ListOMatCustomIntents.intentdefinition e scegli di inserire il file nelle destinazioni App e Intent Extension. Ciò genererà automaticamente classi in entrambi i target che implementano i protocolli di intent ma hanno implementato il tuo comportamento personalizzato.
- Apri il file di definizione .
- Usa il pulsante + in basso a sinistra per aggiungere un intento e chiamarlo "CopyList".
- Imposta la categoria su "Crea" e inserisci il titolo e il sottotitolo per descrivere l'intento:
Aggiungi una categoria, un titolo e un sottotitolo all'intento (Anteprima grande) - Aggiungi un parametro String chiamato "list".
Aggiungi un parametro String chiamato "list" (Anteprima grande) - Aggiungi un tipo di collegamento con il parametro elenco e assegnagli un titolo chiamato "Copia elenco".
Aggiungi un tipo di collegamento intitolato "Copia elenco" (Anteprima grande)
Se guardi nell'Intent plist, vedrai che questo intento è già stato configurato per te:

Donare l'intento
Quando eseguiamo un'interazione con l'utente nella nostra app di cui vogliamo che Siri venga a conoscenza, la doniamo a Siri. Siri tiene traccia delle informazioni contestuali, come l'ora, il giorno della settimana e persino la posizione, e se rileva uno schema, offrirà la scorciatoia all'utente.
Quando tocchiamo il menu Copia, aggiungi questo codice:
@available(iOS 12, *) func donateCopyListInteraction(listName: String) { let copyListInteraction = CopyListIntent() copyListInteraction.list = listName copyListInteraction.suggestedInvocationPhrase = "Copy \(listName)" let interaction = INInteraction(intent: copyListInteraction, response: nil) interaction.donate { [weak self] (error) in self?.show(error: error) } }
Questo crea semplicemente un oggetto della classe CopyListIntent
generata automaticamente e lo dona a Siri. Normalmente, iOS raccoglie queste informazioni e attende il momento appropriato per mostrarle, ma per lo sviluppo puoi aprire l'app Impostazioni, andare alla sezione Sviluppatore e attivare le impostazioni di debug di Siri Shortcut.
Nota : al momento della stesura di questo articolo, con le prime versioni beta, questa impostazione di debug funziona solo sui dispositivi e non sul simulatore. Poiché l'impostazione è presente, mi aspetto che inizi a funzionare in ulteriori beta.

Quando lo fai, la scorciatoia donata viene visualizzata in Suggerimenti Siri in Spotlight.

Toccando che chiamerà la tua estensione di intenti perché stiamo consentendo l'esecuzione in background. Aggiungeremo il supporto per quello dopo.
Gestione dell'intento personalizzato
Abbiamo già un'estensione Intents e poiché il file delle definizioni degli intenti personalizzati è già stato aggiunto al file, ha anche le classi di intent generate. Tutto quello che dobbiamo fare è aggiungere un gestore.
Il primo passaggio consiste nell'aggiungere una nuova classe, denominata CopyListIntentHandler
all'estensione. Ecco il suo codice:
import Intents @available(iOS 12, *) class CopyListIntentHandler: ListOMatIntentsHandler, CopyListIntentHandling { func handle(intent: CopyListIntent, completion: @escaping (CopyListIntentResponse) -> Void) { // Find the list var lists = loadLists() guard let listName = intent.list?.lowercased(), let listIndex = lists.index(where: { $0.name.lowercased() == listName}) else { completion(CopyListIntentResponse(code: .failure, userActivity: nil)) return } // Copy the list to the top, and respond with success copyList(from: &lists, atIndex: listIndex, toIndex: 0) save(lists: lists) let response = CopyListIntentResponse(code: .success, userActivity: nil) completion(response) } }
Gli intenti personalizzati hanno solo una fase di conferma e gestione (la risoluzione personalizzata dei parametri non è supportata). Poiché l'impostazione predefinita confirm()
restituisce success, implementeremo semplicemente handle()
, che deve cercare l'elenco, copiarlo e far sapere a Siri se ha avuto successo o meno.
Devi anche inviare a questa classe dal gestore dell'intento registrato aggiungendo questo codice:
if #available(iOS 12, *) { if intent is CopyListIntent { return CopyListIntentHandler() } }
Ora puoi effettivamente toccare quel suggerimento Siri e verrà visualizzato questo:

E toccando il pulsante Crea copierà l'elenco. Il pulsante dice "Crea" a causa della categoria che abbiamo scelto nel file di definizione dell'intento.
Uff, è stato molto. Queste nuove scorciatoie Siri sono la caratteristica principale di iOS 12 che ha una nuova ampia superficie per gli sviluppatori da esplorare. Inoltre, poiché mi è capitato di avere un buon (e documentato) esempio di Siri con cui lavorare, è stato ragionevole provare ad aggiungere le nuove funzionalità questa settimana.
Puoi vedere l'aggiornamento List-o-Mat in GitHub. Fino al rilascio di Xcode 10 e iOS 12, è nel proprio ramo.
Nei prossimi giorni, guarderò principalmente il codice di esempio di Apple o realizzerò progetti molto più piccoli.
Fine del giorno 3: parchi giochi Xcode
L'intero giorno precedente è stato trascorso in Xcode 10 beta, che non si è arrestato in modo anomalo e sembrava pronto per lo sviluppo. Quindi ora volevo esplorare le nuove funzionalità di Playgrounds.
La cosa principale che volevo dai playground era renderli più stabili e molto più veloci. Per renderli più veloci, Apple ha aggiunto una grande funzionalità: una modalità REPL.
Prima di Xcode 10, quando eri in un parco giochi su cui era eseguito automaticamente (che è l'impostazione predefinita), ogni riga di codice ricostruiva effettivamente l'intero file e lo eseguiva dall'inizio. Se avevi costruito uno stato, era perso. Ma il vero problema era che questo era troppo lento per uno sviluppo iterativo. Quando uso i parchi giochi, li imposto per l'esecuzione manuale, ma anche quello è lento.
In Xcode 10, l'esecuzione manuale è più la norma, ma dopo averlo eseguito, puoi aggiungere più righe nella parte inferiore della pagina e continuare l'esecuzione. Ciò significa che puoi esplorare i dati e disegnare viste in modo iterativo senza ricostruire costantemente e ricominciare da zero.
Per iniziare, ho creato un playground iOS (File → Nuovo → Parco giochi) con il modello Vista singola.
Attiva l'esecuzione manuale abbassando il menu sotto il pulsante Riproduci (il triangolo nell'angolo in basso a sinistra). Questo mette una striscia verticale a sinistra che mostra la posizione corrente della testina Play (una specie di breakpoint).
Puoi toccare qualsiasi linea e quindi toccare il pulsante di riproduzione alla sua sinistra. Questo farà funzionare il parco giochi fino a questo punto. Quindi puoi andare oltre toccando le linee più in basso nel Parco giochi. Fondamentalmente, puoi aggiungere più linee in fondo e digitare Maiusc + Invio dopo ciascuna per spostare la testa di riproduzione in quel punto.
Ecco una GIF di me che cambio l'etichetta di una vista senza dover riavviare il Playground. Dopo ogni riga che digito, premo Maiusc + Invio .

I parchi giochi ora supportano anche il rendering personalizzato dei tuoi tipi e Apple sta facendo una grande spinta affinché ogni framework Swift includa un parco giochi per documentarlo.

Fine del giorno 4: crea ML
L'anno scorso, Apple ha fatto un grande passo avanti per la programmazione di Machine Learning per i propri dispositivi. C'era un nuovo formato di file del modello ML e il supporto diretto per esso in Xcode.
Il potenziale era che ci sarebbe stata una vasta libreria di questi file modello, che ci sarebbero stati strumenti che li avrebbero creati e che molti più sviluppatori di app sarebbero stati in grado di incorporare il ML nei loro progetti senza dover sapere come creare modelli.
Questo non si è completamente materializzato. Apple non ha aggiunto al repository di modelli dopo il WWDC e, sebbene esistano repository di terze parti, per lo più hanno modelli che sono variazioni sulle demo di classificazione delle immagini. ML è usato per molto di più della classificazione delle immagini, ma non è apparsa un'ampia selezione di esempi.
Quindi, è diventato chiaro che qualsiasi app reale avrebbe avuto bisogno dei suoi sviluppatori per addestrare nuovi modelli. Apple ha rilasciato Turi Create per questo scopo, ma è tutt'altro che semplice.
Al WWDC 2018, Apple ha fatto alcune cose su Core ML:
- Hanno ampliato la parte Natural Language Processing (NLP) di Core ML che ci offre un nuovo importante dominio di esempi.
- Hanno aggiunto il concetto di Transfer Learning to Core ML, che consente di aggiungere dati di addestramento a un modello esistente . Ciò significa che puoi prendere modelli dalla libreria e personalizzarli in base ai tuoi dati (ad esempio, fare in modo che riconoscano nuovi oggetti nelle immagini fornite).
- Hanno rilasciato Create ML che è implementato all'interno di Xcode Playgrounds e ti consente di trascinare e rilasciare i dati per l'addestramento e generare estensioni del modello (usando Transfer Learning).
Questo è un altro bel passo verso la democratizzazione del ML. Non c'è molto codice da scrivere qui. Per estendere un classificatore di immagini, devi solo raccogliere ed etichettare le immagini. Una volta che li hai, li trascini semplicemente in Create ML. Puoi vedere la demo in questo video Create ML WWDC.
Fine settimana: gioca con le nuove demo AR
ARKit è stata un'altra grande aggiunta l'anno scorso e sembra ancora più chiaro che un dispositivo AR stia arrivando.
Il mio codice ARKit dell'articolo dell'anno scorso è ancora un buon modo per iniziare. La maggior parte delle nuove funzionalità riguarda il rendere AR più preciso e veloce.
Dopodiché, se hai installato una versione beta, vorrai sicuramente scaricare la nuova app demo SwiftShot ARKit. Questa app sfrutta le nuove funzionalità di ARKit, in particolare l'esperienza multiplayer. Due o più dispositivi sulla stessa rete e nello stesso luogo possono comunicare tra loro e vedere la stessa esperienza AR.
Ovviamente, per giocare a questo, hai bisogno di due o più dispositivi che sei disposto a mettere su iOS 12 beta. Sto aspettando che la versione beta pubblica lo faccia perché ho un solo dispositivo beta-safe.
L'app AR più facile con cui giocare è la nuova app Measure, che ti consente di misurare la lunghezza degli oggetti reali che vedi nella vista della telecamera AR. Ci sono state app di terze parti che lo fanno, ma quella di Apple è lucida e preinstallata con iOS 12.
Collegamenti a video WWDC e codice di esempio
Quindi, non vedo l'ora di fare di più con Xcode 10 e iOS 12 quest'estate mentre aspettiamo i nuovi telefoni e qualsiasi dispositivo Apple potrebbe rilasciare alla fine dell'estate. Nel frattempo, gli sviluppatori iOS possono godersi il sole, tenere traccia delle nostre escursioni con il nostro nuovo sistema operativo beta Watch e guardare questi video del WWDC quando ne abbiamo la possibilità.
Puoi eseguire lo streaming di video WWDC 2018 dal portale per sviluppatori Apple. C'è anche questa app per Mac non ufficiale per la visualizzazione di video WWDC.
Ecco i video a cui si fa riferimento in questo articolo:
- Keynote WWDC 2018
- WWDC 2018 Piattaforme Stato dell'Unione
- Introduzione alle scorciatoie di Siri
- Ottenere il massimo dai parchi giochi in Xcode
- Presentazione di Create ML e, se desideri qualcosa di più avanzato, A Guide to Turi Create
Per iniziare a giocare con Xcode 10 e iOS 12:
- Scarica le beta (visita su un dispositivo per ottenere il profilo beta)
- List-o-Mat con gli aggiornamenti di Siri Shortcut
- Swift Shot (il gioco multigiocatore di ARKit 2)