Vad är nytt för Devs i IOS 12 och Xcode 10?

Vad du ska skapa

Bland alla fanfare från en annan WWDC introducerade Apple oss till iOS 12. Detta är en av de mest fokuserade versionerna för både konsumenter och utvecklare, med betoning på prestationsoptimering. Utöver detta fokuserar jag på prestanda och optimering, även iOS ger en del funktionella iterationer på många av de bibliotek vi känner och älskar. Detta inkluderar utvecklingen av emojis (med memojis), Siri genvägar, ökad verklighet och maskininlärning. 

För utvecklare har Apple fokuserat på att ge sitt samhälle en mängd nya verktyg och SDK för att hjälpa till att driva nästa generation av iOS-appar. Utvecklare får också mycket förbättringar för Xcode, och Apples senaste ramar-ARKit, Core ML och SiriKit-har fått signifikanta funktionsuppgraderingar.

Machine Learning har utvecklats snabbt sedan det introducerades första gången 2017, med Core ML 2 som gör det enkelt för vanliga utvecklare att designa, träna och testa modeller. ARKit 2, Apples andra iteration av dess förstärkta reality library, är ett annat bibliotek som har förbättrats tydligt i år tack vare tre framträdande nya funktioner: 

  • delade erfarenheter vilket möjliggör multiplayer AR-upplevelser
  • långlivade upplevelser vilket möjliggör besparingar och återställande av stater
  • 3D-objektdetektering förutom 2D rörande bildspårning. 

Apple har också förbättrat meddelanden genom att lägga till möjligheten att gruppera och prioritera meddelanden kontextuellt och det har skapat det nya lösenordet Auto-fill-ramverket för att integrera tredjeparts lösenordshanteringsapps. 

Siri Shortcuts är Apples tillägg till SiriKit, vilket tillåter tredjepartsutvecklare att integrera anpassade intelligenta genvägar i sökljus och låsskärm, samt att använda sin röst för att kalla och utföra den anpassade åtgärden. 

Xcode 10 introducerar också ett helt nytt sortiment av förbättringar, från mörkt läge till redigering av flera markörer, nya källkontrollbilder i källkodsredigeraren och ett helt nytt byggsystem. Xcode 10 stöder också parallellprovning, vilket reducerar tiden för att slutföra testen drastiskt.

Syftet med denna artikel 

I den här artikeln kommer du att lära dig allt om de nya ändringarna som kommer till IOS 12 för utvecklare. Vi kommer att täcka följande:

  • maskininlärning med Core ML 2 och Natural Language-ramverket
  • förstärkt verklighet med ARKit 2
  • interaktiva meddelanden
  • Siri genvägar med SiriKit
  • Autentiseringstjänster och lösenord Automatisk fyllning
  • Xcode 10
  • andra ändringar

Maskininlärning

Maskininlärning, introducerad i IOS 11, har inte bara utvecklats i år men har tagit massiva steg mot att göra maskininlärning vanligt. Nästa iteration av Core ML, version 2, i linje med temat prestanda och hastighet, är nu 30% snabbare, med AI-modellstorlekar minskade med upp till 75%. Mer väsentligt har Apple förenklat biblioteken och verktygen drastiskt för att underlätta för alla att anta utan tidigare matematik eller maskininlärning bakgrunder. 

Core ML visade mycket potential när den introducerades, men den var inte omfamnad av det bredare iOS-utvecklingssamhället. Men med introduktionen av Create ML i år (ett macOS-ramverk) kan alla skapa Core ML-modeller för användning i sina appar med större lätthet. Den här nya ramen integreras med lekplatser i den nya Xcode, så att du visuellt kan interagera med dina arbetsflöden för modellskapande i realtid, bara genom att lägga till några rader med Swift-kod. 

Förutom att stödja omfattande djupt lärande med över 30 lagtyper, stöder den också standardmodeller som trädensembler, SVM, och generaliserade linjära modeller .... Eftersom Core ML bygger smidigt på lågnivåteknologier som Metal och Accelerate, utnyttjar Core ML smidigt CPU och GPU för att ge maximal prestanda och effektivitet. (WWDC)

Många av Apples produkter har redan utnyttjat Core ML 2, inklusive Siri och Camera, genom sin datorsyn och det helt nya Natural Language-ramverket. Den naturliga språkramen, som är ny i iOS 12, stödjer analysen av naturlig språktext för att härleda specifika metadata och används tillsammans med Skapa ML i träning och implementering av anpassade modeller för naturligt språk. Mer information om hur man skapar och kör Core ML-modeller finns i följande två Apple-referensdokument: 

  • Lär dig om Building Core ML Models
  • Lär dig om hur man kör Core ML-modeller

ARKit 2

ARKit, som också tillkännagavs förra året, blev framträdande på scenen vid årets WWDC, med ARKit 2 fångar konsument- och teknikinställningar direkt tack vare tre framträdande nya funktioner:

  • delade AR-erfarenheter
  • uthålliga AR-erfarenheter 
  • 3D-objektdetekteringsfunktioner

Visad live på scenen på WWDC-keynoten i år, delade AR-erfarenheter gör att du kan integrera flera användningar i den utvidgade verklighetsupplevelsen samtidigt. Med andra ord kan du snabbt skapa multiplayer-förstärkta verklighetsupplevelser där du inte bara kan få flera användare att spela men även tredjepersonens medståndare som observerar samma erfarenheter. 

Persistenta AR-erfarenheter låter utvecklare genomföra funktionalitet för att spara sessioner i ett visst tillstånd, som ska återupptas senare. Det vill säga om du bygger en virtuell lego skulptur, kan du spara och återuppta staten, och de virtuella objekten skulle fortsätta i samma utrymme och tid utan att behöva börja om igen. 

Slutligen har 3D-objektdetekterings- och spårningsfunktioner förbättrats sedan ARKit 1.5, med möjlighet att nu fullt ut spåra 2D-bilder, inklusive rörliga objekt som vykort, tidningar eller tidskrifter. Du kan till exempel hålla ett vykort av en plats och flytta kortet runt, medan ARKit kontinuerligt spårar och känner igen ditt objekt. ARKit 2 låter dig också upptäcka kända 3D-föremål som tv-apparater, möbler eller skulpturer. 

Gruppmeddelanden

Meddelanden har förbättrats avsevärt i IOS 12, med förmågan att prioritera och gruppera meddelanden, en funktion som användare och utvecklare har väntat länge. 

Möjligheten att gruppera anmälningar kontextuellt ger slutanvändarna en mer koncis användarupplevelse, en som har varit tillgänglig för Android-användare under många år. Användare kan till exempel använda anmälningsgrupperna så att en konversationstråd i en app eller spelmeddelanden ingår i ett grupppaket i stället för enskilda meddelanden som tar upp hela skärmen. I stället kan användarna, med en enda stränga, avfärda en grupp kontextuella meddelanden.

Anmälningar prioriteras också av betydelse så att väsentliga meddelanden som meddelanden, e-postmeddelanden eller en kalenderanmälan kommer att visas ovanför sociala medier. Tredjepartsutvecklare kan också klassificera en anmälan som en varning med prioritering - med godkännande från Apple Review Team.

SiriKit & Intents

SiriKit har också fått lite uppmärksamhet här WWDC med tillägg av Siri Shortcuts. Den här funktionen föreslår intelligent genvägar rätt när de behövs, genom att para och förutse användarrutiner och beteenden. Genom det nya genvägarna API kan användarna snabbt och bekvämt utföra uppgifter på låsskärmen eller sökskärmen genom att använda dessa genvägar visuellt eller genom Siri-röstgenvägar, samt skapa egna genvägar. 

Ett exempel skulle vara att en anmälan om kaffebutiker skulle visas på låsskärmen som ett resultat av användarbeteendet att gå ut på morgonen och beställa en mintmojito-dryck. Utöver det visuella förslaget skulle användaren också kunna använda Siri och säga "Beställ min favorit kaffedryck från Philz" eller skapa en anpassad genväg som utlöser den åtgärden. 

Autentiseringstjänster

Apple har infört ett helt nytt AuthenticationServices-bibliotek som integrerar lösenordshanterare som LastPass eller 1Password med operativsystemets lösenordsautofyll. Tidigare hade användarna bara tillgång till uppgifter som lagrats i iCloud-nyckelringen och åtkomst till lösenord från tredje part lagrade i appar som 1Password menade användare måste byta mellan båda programmen för att få användarnamnet och lösenordsinformationen.

Inne i QuickType-fältet kan användarna få tillgång till sina uppgifter från tredjepartslösningshanteringsapparna. Utvecklare har också förmåga, genom genomförandet av det nya ASWebAuthenticationSession klass, för att dela inloggningsinformation mellan en aktiv session i Safari och din app. Det här fungerar som ett slags lösenordshantering. 

Xcode 10

Apple har också bemyndigat utvecklare bortom nya SDK och ramverk, med anmärkningsvärda förbättringar av Xcode och Xcode build toolchain. Källredigeraren har till exempel fått några bra refactoring-förbättringar, bland annat redigering av flera markörer, så att du snabbt kan redigera flera kodkod (dvs olika metoder) samtidigt.

Xcode 9 introducerade först integration med GitHub, från att skapa och öppna GitHub repos från IDE för att interagera med kod mer samarbetande. Xcode 10 sträcker sig bortom GitHub för att fungera med två andra populära repository-leverantörer, GitLab och Bitbucket. 

På källredigeringssidan markeras ändringar i lokalförvaret eller uppströms nu i den vänstra kolumnen, så att du snabbt kan se ändringar som gjorts i din kod samt ändringar som ännu inte drivits, uppströms förändringar som andra har gjort och eventuella konflikter som behöver att behandlas innan förbinder sig. Slutligen genererar Xcode 10 SSH-nycklar till dig om det behövs, och laddar dem upp till ditt källkontor för dig. 

Xcode 10 introducerar ett helt nytt byggsystem för utvecklare, och i enlighet med temat för konferensen får prestanda och hastighetsförbättringar. Till exempel kan utvecklare som testar sina appar i Simulator nu utnyttja testparallellisering, möjligheten att köra flera test samtidigt. 

Utöver enhetstester kan utvecklare nu köra fortlöpande integrationstester över många olika simulerade enhetstyper, gyckekloner av en enda simulerad enhet, vilket resulterar i test som slutar på en bråkdel av tiden Xcode 9 skulle ta. Utvecklare kan antingen välja att utnyttja sin Macs CPU för att utföra testen parallellt eller tilldela en annan Mac i nätverket hosting Xcode Server för att automatisera byggandet och testningen parallellt. 

Apple har nu avlägsnats skriva ut() uttalanden till förmån för det nya OSLog skyltar, som ger en mycket större felsökningshastighet jämfört med skriva ut(). Utvecklare kan också implementera anpassade instrument för att markera viktiga punkter i hela koden, som sedan spåras genom skyltar inom instrument som visas tillsammans med andra analyshändelser (t.ex. CPU, minne eller nätverk), vilket ger utvecklare ännu större inblick i felsökning av deras appar. 

Xcode 10 innehåller även anpassade mallar för att hjälpa utvecklare att bygga egna instrument med anpassad visualisering och dataanalys, som kan återanvändas och delas med andra lagmedlemmar eller publiceras med dina ramar. Det finns några andra mindre ändringar på ikonerna, inklusive att flytta bibliotekets innehåll till ett nytt överlay-fönster istället för inspektörens undersida. Det finns också andra mindre ändringar i Interface Builder-ikoner och layout också.

Andra ändringar

iTunes Connect har blivit korrekt märkt som App Store Connect, tillsammans med några förbättringar för att göra användargränssnittet mer effektivt men ändå användarvänligt. Genom det nya webbgränssnittet kan utvecklare skapa produktsidor med skärmdumpar och förhandsgranskningar, växla in app-inköp och konfigurera prenumerationer, förbeställningar och inledande prissättning.

Slutligen har TestFlight fått en framträdande förbättring med en ny funktion som heter TestFlight Public Link, vilket gör att processen med att bjuda in människor kan testa din app mycket enklare. Var tidigare utvecklaren skulle behöva manuellt bjuda in användare som använde sina e-postadresser i vad som var en besvärlig process kan utvecklare nu skapa en "öppen inbjudan" via en allmän webbadress. 

Slutsats

iOS 12 är ett mycket fokuserat utgåva för både konsumenter och utvecklare, med tonvikt på prestandaoptimering. För utvecklare har Xcode och bygg- och testverktygen optimerats med tonvikt på snabbhet i framkant, och Apples senaste ramar som ARKit, Core ML och SiriKit har fått signifikanta funktionsuppgraderingar.. 

Under två år börjar vi se Apples förflyttning i maskininlärning utvecklas och mogna, med fördelar som rullar över i sina andra tekniska ramar, som SiriKit, ARKit och Photos, vilket gör det möjligt för utvecklare att skapa mer intelligenta användarupplevelser. Viktigare är att maskininlärning har flyttat från att vara ett nischbibliotek till en där någon utvecklare, oavsett maskininlärning, kan träna och genomföra modeller. 

Med WWDC som en inledning till Apples hårdvarubekännelser i september kommer det att vara intressant att se hur utvecklaren omfattar ARKit i sin andra iteration, inom ramen för multiplayer-spel.