Årets WWDC-kunngjøringer fokuserte på de spennende nye SDKene, som ARKit, og endringene i iOS 11. Men Apple har også gjort betydelige forbedringer for Xcode med Xcode 9. Ikke å bli oversatt av de andre kunngjøringene, den nye versjonen av Xcode er et sprang fremover for kodere. Utviklere er sikker på å være lykkelige!
Inkludert i årets forbedringer:
Dette er helt sikkert en veldig spennende liste over endringer, så la oss gå dem en etter en, som starter med Swift 4.
Swift utvikler seg jevnt over året, og i år gir Xcode den nyeste store Swift-utgivelsen, Swift 4. Mens den nyeste open-source-iterasjonen ikke er like stor et hopp som tidligere versjoner, har Xcode 9 gjort prosessen jevn mer beleilig.
Til å begynne med støtter Xcode 9 nå muligheten til å kompilere både Swift 4.0 og Swift 3.2 mål samtidig, noe som betyr at du som utvikler kan velge å migrere prosjektet gradvis i stedet for alt på en gang, og du kan få prosjektmålene dine skrevet i enten den siste eller forrige språkversjonen.
Xcode 9s kompilator forstår begge versjoner, og via Xcode Migration Assistant vil nå be brukerne å kirsebærvalg hvilke mål som skal overføres til versjon 4.0.
Faktisk evaluerer Xcode 9 koden din og gir innsikt i prosjektets moderniseringsoverensstemmelsesstatus og beste praksis, gjennom Redaktør> Bekreft menyalternativ.
Neste opp, Xcode 9 får noen nødvendige forbedringer til IDE selv - spesielt til Project Navigator og Source Editor-komponentene, og starter med en raskere indekseringsmotor som supercharges din evne til å søke og gir resultater raskere.
Utviklere kan søke i en stor kodebase og få resultater umiddelbart, siden indekseringsmotorene nå også indekserer filer som de er kompilert, mens tidligere filer i en kompileringstilstand ikke var gjenstand for indeksering. Dette gir utviklere muligheten til raskt å hoppe mellom og søke etter filer fra tilknyttede prosjekter og biblioteker sømløst, en velkommen fordel, spesielt når du jobber med CocoaPods og multi-prosjekt arbeidsområder.
Redaktøren selv har også blitt gjenoppbygd, slik at - som Apple sier - en "rask strukturbasert redigeringsverktøy som lar deg intelligent markere og navigere koden din". Hva dette betyr er en ny fremhevingsmotor som gjenkjenner logisk grupperte blokker bedre, og det gir deg smarte verktøy for å navigere mellom relaterte deler av kodebase.
I tillegg til at utviklere kan navigere enkelt fra klasse til klasse, eller fra metode til metode, gir Xcode også en helt ny refactoring-funksjon. Refactoring-verktøyet gir en modal editor-rute for å sammenligne alle mulige endringer når du trekker ut og refactor Swift-metoder. Dette gjør refactoring enkelt, selv mellom Swift og Objective-C metoder.
Du kan nå oppdatere symboler, endre getters og setters, syntetisere iVars, og automatisk fylle obligatoriske protokollmetoder for overensstemmelse, alt med ett enkelt klikk.
Andre mindre forbedringer inkluderer innfødt støtte for Markdown-filer (gjengitt med Markdown stylings) i redigeringsprogrammet. Denne forbedringen gir mening med tanke på Xcodes dypere integrasjon med GitHub, og det er nyttig å kunne få tilgang README.md filer mer visuelt i redigeringsprogrammet.
Xcode 9 gir også nye iOS Playground-maler som du faktisk kan teste ut, ikke bare i Xcode, men også på Swift Playgrounds for iPad!
Det er også en liten forbedring, men redaktøren lar brukerne nå øke eller redusere editorens skriftstørrelse ved hjelp av MacOS-conforming ⌘+ eller ⌘- snarveier.
En annen liten forbedring er å opprette, omdøpe og slette grupper i Project Navigator. Å gjøre endringer i en gruppe vil nå bli reflektert i tilhørende mappe, noe som sikrer navngivningskonsistens og eliminerer en irritasjon som mange utviklere hadde med hvordan Xcode fungerer med filsystemmapper.
Endelig legger forbedringer i Xcodes Asset Catalog til støtte for den nye HEIF-bildens åpne standard som er en del av IOS 11.
En av de mest bemerkelsesverdige forbedringene til Xcode har vært med integrert kildekontrollstyring, som til nå hadde blitt oversatt. I stedet for den tidligere halvbakte SCM som aldri virkelig følte seg som en del av Xcode, inneholder Xcode 9 nå en fullstendig revolusjonert SCM-integrasjon.
Fra en ny SCM-navigator som er mer sømløst integrert, får du også kraftigere måter å jobbe med grener og tagger. Ikke bare det, men Xcode har nå dyp integrasjon med GitHub som lar deg administrere kontoen din direkte fra Xcode-preferanser, opprette GitHub-arkiver med ett enkelt klikk, og bla gjennom offentlige repos fra redaktøren.
For en nærmere titt på nye SCM-funksjoner i Xcode 9, sjekk ut vårt innlegg Hva er nytt med Git Support i Xcode 9.
For ikke å bli etterlatt, fikk Debugging også mye oppmerksomhet i Xcode 9. Vi starter med å se på hva som er nytt i Xcode Simulator.
Tidligere, når du starter Xcode Simulator, kan du bare starte en Simulator av gangen. Så, hvis du måtte teste på flere enhetstyper, måtte du kjøre hver etter tur. Dette gjorde testing tregere, enten for manuell eller automatisk testing.
Dette har endret seg i Xcode 9. Utviklere kan for første gang kjøre flere simulatorer samtidig, med automatiserte testverktøy som nå kan kjøre tester parallelt.
Det er noen andre mindre, men nyttige tweaks til Simulator som Apple har introdusert. En er at du kan holde nede Alternativ-tasten for å lukke simulatorvinduet, men likevel holde det i bakgrunnen. Du kan også starte Simulator fra kommandolinjen, som er nyttig for automatiserte test- og leveringsverktøy.
Utviklere kan også ta opp videoer av simulatorer, i tillegg til å ta skjermbilder, som er nyttig for utgivelsen av App Store.
Sist men ikke minst, utviklere som går fra simulator til testing på ekte enheter, trenger ikke lenger å plugge inn enhetene deres fysisk. Apple lar nå utviklere kutte ledningen og feilsøke iOS- og Apple TV-enheter trådløst, med en funksjon som heter Network Debugging.
Et nytt frittstående feilsøkingsverktøy Apple har introdusert sammen med Xcode 9, Main Thread Checker er i stand til å oppdage ikke-kompatibel bruk av fremtredende SDKer som AppKit og UIKit fra en bakgrunnstråd. For eksempel kan utviklere bruke UITableView
handlinger i bakgrunns tråden, noe som kan resultere i merkelige visuelle effekter og feiloppdateringer. Hovedtranskontrolleren er aktivert som standard og kan konfigureres via skjemaditoren.
Xcode 9 har nå innebygd Xcode Server-roboter og standard, og eliminerer behovet for utviklere for å ha en installasjon av macOS Server. Dette betyr at utviklere kan kjøre Xcode Server-bots på en hvilken som helst maskin og dra nytte av kontinuerlig integrering av beste praksis.
Utviklere har gjennomgått gradvise endringer og forbedringer i Interface Builder (IB) gjennom årene, med kontinuerlige forbedringer av gjengivelsen av skjermene. Xcode 9 fortsetter å forfine IB ved å gjøre UI-komponenter på lerretet mer nøyaktig. Forbedrede komponenter inkluderer Navigasjon, Fane og verktøylinjer.
En annen ny funksjon er at Xcode og IB nå vil advare utviklere når visningsbegrensninger potensielt kan forårsake lokaliseringsproblemer. For eksempel vil du bli varslet når en endring i en visning kan føre til ord på et annet språk, for eksempel tysk, for å bli avkortet eller klippet. Dette kommer sikkert til å spare mye tid for utviklere som støtter flere språk.
Når det gjelder layouter, støtter Interface Builder nå også veiledningsveiledninger for Auto Layout, som er hint som hjelper utviklere til å organisere brukergrensesnittelementer. Dette avvurderer topp- og nedre layoutguider i tidligere versjoner av Xcode.
Den siste delen av Xcode gir en mengde nye funksjoner som vil forbedre utviklerens produktivitet. I takt med annonseringen av Swift 4 gjør Xcode migrasjon fra Swift 3.2 til den nyeste versjonen mye mer velsmakende, takket være støtten til gradvis migrasjon. Xcode har også mottatt rettidig og merkbar forbedring av hastigheten for å søke indeksering og en fullstendig gjenoppbygget redaktør som er mer kontekstbevisst, med ny støtte for refactoring.
SCM har nå blitt en førsteklasses statsborger, noe som betyr at utviklere ikke lenger må bytte mellom Xcode og en tredjeparts SCM editor for deres behov for git-management. Simulatoren har dratt nytte av noen av de mest bemerkelsesverdige forbedringene, med muligheten til å kjøre flere samtidige simulatorer for å teste flere enheter på en raskere måte, i tillegg til at det er mulig å kutte ledningen og feilsøke på fysiske enheter trådløst.
Mens iOS 11 har utviklet utviklingssamfunnet takket være sine spennende nye SDK-funksjoner, gir Xcode 9 det perfekte utviklingsverktøyet for å levere innovasjon til brukerne. Hold deg oppdatert for noen praktiske veiledninger om bruk av de nye iOS-SDKene. Og sjekk ut noen av våre andre innlegg på IOS app utvikling!