Hva er nytt for Devs i IOS 12 og Xcode 10?

Hva du skal skape

Midt i alle fanfare fra en annen WWDC, introduserte Apple oss til iOS 12. Dette er en av de mest fokuserte utgivelsene for både forbrukere og utviklere, og understreker ytelsesoptimalisering. I tillegg til dette fokuset på ytelse og optimalisering, bringer iOS også noen funksjonalitet på mange av bibliotekene vi kjenner og elsker. Dette inkluderer evolusjonen av emojis (med memojis), Siri snarveier, forstørret virkelighet og maskinlæring. 

For utviklere har Apple fokusert på å gi sitt fellesskap en mengde nye verktøy og SDK-er for å hjelpe strømmen til neste generasjon av iOS-apper. Utviklere får også en rekke forbedringer til Xcode, og Apples nyeste rammeverk-ARKit, Core ML og SiriKit-har mottatt betydelige funksjonoppgraderinger.

Machine Learning har utviklet seg raskt siden det ble introdusert i 2017, med Core ML 2 gjør det enkelt for de vanlige utviklerne å designe, trene og teste modeller. ARKit 2, Apples andre iterasjon av det utvidede realitybiblioteket, er et annet bibliotek som har forbedret seg tydelig i år, takket være tre fremtredende nye funksjoner: 

  • delte erfaringer som muliggjør multiplayer AR-opplevelser
  • vedvarende opplevelser som tillater lagring og gjenoppretting av stater
  • 3D-objektdeteksjon i tillegg til 2D-bevegelige bildesporing. 

Apple har også forbedret varsler ved å legge til muligheten til å gruppere og prioritere varsler kontekstmessig, og den har opprettet det nye passordet Auto-fill-rammeverket for å integrere tredjeparts passordhåndteringsapper. 

Siri Shortcuts er Apples tillegg til SiriKit, slik at tredjepartsutviklere kan integrere egendefinerte snarveier i søkelys og låseskjermer, samt å bruke stemmen til å oppfordre og utføre den tilpassede handlingen. 

Xcode 10 introduserer også et helt nytt utvalg av forbedringer, fra mørk modus til multi-markør redigering, nye kildekontrollbilder i kildekoden, og et helt nytt byggesystem. Xcode 10 støtter også parallell testing, noe som reduserer tiden for å fullføre tester drastisk.

Målene i denne artikkelen 

I denne artikkelen vil du lære alt om de nye endringene som kommer til iOS 12 for utviklere. Vi vil dekke følgende:

  • maskinlæring med Core ML 2 og Natural Language-rammeverket
  • forsterket virkelighet med ARKit 2
  • interaktive varsler
  • Siri snarveier med SiriKit
  • Autentiseringstjenester og passord Automatisk fylling
  • Xcode 10
  • andre endringer

Maskinlæring

Maskininnlæring, introdusert i IOS 11, har ikke bare utviklet seg i år, men har tatt store skritt mot å gjøre maskininnlæringen vanlig. Den neste iterasjonen av Core ML, versjon 2, i tråd med temaet ytelse og hastighet, er nå 30% raskere, med AI-modellstørrelser redusert med opptil 75%. Mer betydelig har Apple forenklet biblioteker og verktøy drastisk for å gjøre det lettere for alle å adoptere uten tidligere matematikk- eller maskinlæringsbakgrunn. 

Core ML viste mye potensial da den først ble introdusert, men det ble ikke omfavnet av det bredere iOS-utviklingssamfunnet. Men med introduksjonen av Create ML i år (et macOS-rammeverk) kan alle lage Core ML-modeller til bruk i deres applikasjoner med større letthet. Dette nye rammeverket integreres med lekeplasser i den nye Xcode, slik at du visuelt kan interagere med modellopprettings arbeidsflyt i sanntid, bare ved å legge til noen få linjer med Swift-kode. 

I tillegg til å støtte omfattende dyp læring med over 30 lagtyper, støtter den også standardmodeller som tre ensembler, SVMs og generaliserte lineære modeller .... Fordi den er bygget utover lavtliggende teknologier som Metal og Accelerate, utnytter Core ML sømløst CPU og GPU for å gi maksimal ytelse og effektivitet. (WWDC)

Mange av Apples produkter har allerede utnyttet Core ML 2, inkludert Siri og Camera, gjennom sin datasyn og det splitter nye Natural Language-rammeverket. Natural Language-rammeverket, nytt for iOS 12, støtter analysen av naturlig språktekst for å utlede spesifikke metadata, og brukes sammen med Create ML i trening og distribusjon av tilpassede modeller for naturlig språkbehandling. For mer informasjon om hvordan du oppretter og kjører Core ML-modeller, kan du se følgende to Apple-referansedokumenter: 

  • Lær om Building Core ML-modeller
  • Lær om hvordan du kjører Core ML-modeller

ARKit 2

ARKit, som også ble annonsert i fjor, fikk fremgang på scenen på årets WWDC, med ARKit 2 fange forbruker- og ingeniørfigurasjoner umiddelbart takket være tre fremtredende nye funksjoner:

  • delte AR-opplevelser
  • vedvarende AR-opplevelser 
  • 3D-objektgjenkjenningsmuligheter

Demonstrert live på scenen på WWDC keynote i år, deles AR erfaringer, slik at du kan inkorporere flere bruksområder i den utvidede virkelighetsopplevelsen samtidig. Med andre ord kan du raskt skape multiplayer forstørrede virkelighetsopplevelser der du ikke bare kan få flere brukere til å spille, men også tredjeperson-tilskuere som observerer de samme opplevelsene. 

Vedvarende AR-opplevelser lar utviklere implementere funksjonalitet for å lagre økter i en gitt stat, som skal gjenopptas på et senere tidspunkt. Det vil si, hvis du bygger en virtuell lego skulptur, kan du lagre og gjenoppta staten, og de virtuelle objekter vil fortsette i samme rom og tid uten å måtte starte igjen. 

Endelig har 3D-oppdagelses- og sporingskapasiteter blitt forbedret siden ARKit 1.5, med muligheten til nå å spore fullstendig 2D-bilder, inkludert bevegelige gjenstander som postkort, aviser eller magasiner. Du kan for eksempel holde et postkort av et sted og flytte kortet rundt, mens ARKit kontinuerlig sporer og gjenkjenner objektet ditt. ARKit 2 lar deg også oppdage kjente virkelige 3D-objekter som fjernsyn, møbler eller skulpturer. 

Gruppevarsler

Varsler har blitt forbedret betydelig i iOS 12, med muligheten til å prioritere og gruppere meldinger, en funksjon som brukere og utviklere har ventet lenge på. 

Evnen til å gruppere varsler kontekstuelt gir sluttbrukere en mer konsistent brukeropplevelse, en som har vært tilgjengelig for Android-brukere i mange år. Brukere kan for eksempel bruke meldingsgrupperingene slik at en samtale i en app eller spillvarsling er en del av en gruppepakke i stedet for individuelle varsler som tar opp hele skjermen. I stedet, med en enkelt swipe, kan brukerne avvise en gruppe kontekstuelle varsler.

Meldinger prioriteres også av betydning, slik at viktige varsler, for eksempel meldinger, e-postmeldinger eller en kalendermelding, vises over sosiale medier. Tredjepartsutviklere kan også klassifisere et varsel som varsel med prioritering - med godkjenning fra Apple Review Team.

SiriKit & Intents

SiriKit har også fått litt oppmerksomhet denne WWDC med tillegg av Siri Shortcuts. Denne funksjonen foreslår intelligent snarveier når de trengs, ved å sammenkoble og forutsi brukerrutiner og oppførsel. Gjennom den nye snarveiene API kan brukerne raskt og enkelt utføre oppgaver på låseskjermen eller søkeskjermen ved hjelp av disse snarveiene visuelt, eller via Siri-snarveier, samt å lage egne snarveier. 

Et eksempel ville være at et kaffebutikk varsling skulle vises på låseskjermen som et resultat av brukerens oppførsel å gå utover om morgenen og bestille en mint mojito-drikk. Utover det visuelle forslaget, vil brukeren også kunne bruke Siri og si "Bestill min favoritt kaffedrikke fra Philz", eller opprett en egendefinert snarvei som utløser denne handlingen. 

Autentiseringstjenester

Apple har introdusert et helt nytt Authentication Services-bibliotek som integrerer passordforvaltere som LastPass eller 1Password med operativsystemets passordautofyll. Tidligere hadde brukerne bare tilgang til legitimasjonsinformasjon lagret i iCloud-nøkkelen, og tilgang til tredjeparts passord lagret i apper som 1Password mente brukere måtte bytte mellom begge appene for å få brukernavn og passordinformasjon.

Innenfor QuickType-linjen kan brukerne få tilgang til deres legitimasjonsbeskrivelser fra tredjeparts passordbehandlingsprogrammer. Utviklere har også evnen gjennom gjennomføringen av den nye ASWebAuthenticationSession klassen, for å dele innloggingsinformasjon mellom en aktiv økt i Safari og appen din. Dette fungerer som en slags passordhåndtering. 

Xcode 10

Apple har også bemyndiget utviklere utover nye SDKer og rammer, med bemerkelsesverdige forbedringer til Xcode og Xcode build toolchain. Kildeditoren har for eksempel oppnådd noen gode refactoring-forbedringer, inkludert multi-markørredigering, slik at du raskt kan redigere flere linjer med kode (det vil si forskjellige metoder) samtidig.

Xcode 9 introduserte først integrasjon med GitHub, fra å lage og åpne GitHub repos fra IDE for å samhandle med kode mer samarbeidende. Xcode 10 strekker seg utover GitHub for å jobbe med to andre populære arkivleverandører, GitLab og Bitbucket. 

På kildeditorens side blir endringer i det lokale arkivet eller oppstrøms nå markert i den venstre kolonnen, slik at du raskt kan se endringer som er gjort i koden din, samt endringer som ennå ikke er presset, oppstrømsendringer som andre har gjort, og mulige konflikter som trenger å bli adressert før begår. Endelig genererer Xcode 10 SSH-nøkler for deg om nødvendig, og laster dem opp til ditt kildekontrollregister for deg. 

Xcode 10 introduserer et helt nytt byggesystem for utviklere, og i tråd med temaet for konferansen, får den ytelse og hastighetsforbedringer. For eksempel kan utviklere som tester sine programmer i Simulator, nå utnytte testparallellisering, muligheten til å kjøre flere tester på samme tid. 

I tillegg til enhetstester kan utviklere nå løse kontinuerlige integrasjonstester på mange forskjellige simulerte enhetstyper, gytekloner av en enkelt simulert enhet, noe som resulterer i tester som fullfører i en brøkdel av tiden Xcode 9 ville ta. Utviklere kan enten velge å utnytte sin Macs CPU til å utføre testene parallelt eller tildele en annen Mac i nettverket hosting Xcode Server for å automatisere bygg og testing parallelt. 

Apple har nå blitt avskrevet skrive ut() uttalelser til fordel for det nye OSLog signpost uttalelser, som gir en langt større debugging hastighet i forhold til skrive ut(). Utviklere kan også implementere egendefinerte instrumenter for å markere viktige punkter i hele koden, som deretter spores gjennom skilting innenfor instrumenter, som vises sammen med andre analysehendelser (for eksempel CPU, minne eller nettverk), og gir utviklere enda større innsikt i feilsøking av appene sine. 

Xcode 10 inneholder også egendefinerte maler for å hjelpe utviklere til å bygge egne instrumenter med tilpasset visualisering og dataanalyse, som kan gjenbrukes og deles med andre lagmedlemmer, eller publiseres med dine rammer. Det er noen andre mindre endringer på ikonene, inkludert å flytte bibliotekets innhold til et nytt overleggsvindu i stedet for undersiden av inspektøren. Det er også andre små endringer i Interface Builder ikoner og layout også.

Andre endringer

iTunes Connect har blitt rebranded hensiktsmessig som App Store Connect, sammen med noen forbedringer for å gjøre brukergrensesnittet mer effektivt, men brukervennlig. Gjennom det nye webgrensesnittet kan utviklere lage produktsider med skjermbilder og forhåndsvisninger, bytte kjøp i app og opprette abonnementer, forhåndsordrer og introduksjonspriser.

Endelig har TestFlight mottatt en fremtredende forbedring med en ny funksjon som heter TestFlight Public Link, noe som gjør prosessen med å invitere folk til å teste appen din mye enklere. Hvor tidligere utvikleren måtte manuelt invitere brukere ved hjelp av e-postadressene i det som var en tungvint prosess, kan utviklere nå lage en "åpen invitasjon" via en offentlig URL. 

Konklusjon

iOS 12 er en svært fokusert utgave for både forbrukere og utviklere, med vekt på ytelsesoptimalisering. For utviklere har Xcode og bygg og testing verktøyene blitt optimalisert med vekt på hastighet i forkant, og Apples nyeste rammer som ARKit, Core ML og SiriKit har mottatt betydelige funksjoner oppgraderinger. 

I løpet av to år begynner vi å se Apples forgang til maskinlæring utvikle seg og modne, med fordeler som ruller over i sine andre teknologiske rammer, som SiriKit, ARKit og Photos, slik at utviklere kan skape mer intelligente brukeropplevelser. Enda viktigere er maskinlæring flyttet fra å være et nisjebibliotek til en hvor noen utvikler, uansett maskinlæringserfaring, kan trene og implementere modeller. 

Med WWDC som et forspill til Apples maskinvare kunngjøringer i september, vil det være interessant å se hvordan utvikler fellesskapet omfatter ARKit i sin andre iterasjon, i form av multiplayer spilling.