Xcode 9.3 lar utviklere identifisere iOS-apper med batteri, teste Mac-apper i 64-biters modus

Bortsett fra å forhåndsvise de viktigste nye funksjonene og forbedringene som kommer til din iPhone og iPad denne våren via den kommende iOS 11.3-programvaren, og gi ut en sperring av nye OS-betas, droppet Apple i går også Xcode 9.3 beta med noen interessante nye muligheter.

Blant andre funksjoner gir det nye verktøy for å hjelpe utviklere med å identifisere apper som bruker for mye batteri og tester macOS-apper for 64-biters kompatibilitet.

Selv om Apples lovede strømstyring, batterihelse og CPU-throttling-funksjoner ikke lever i den første betaen av iOS 11.3 (de kommer snart via en kommende ny beta), kan utviklere nå dra nytte av Xcode 9.3s nye Energy-organisatorverktøy for å identifiser om en app eller en apputvidelse bruker for mye strøm.

Som sett øverst i innlegget blir en feil oppførsel som overskrider en rimelig CPU-terskel når du kjører i forgrunnen eller bakgrunnen, fanget opp i loggen, noe som gjør det enklere for appprodusenter å finne ut hva som nettopp forårsaker batteritap på brukerens enhet. Denne funksjonen varsler til og med en utvikler om problemer med batteribruk etter at appen deres har gått live på App Store, forutsatt at brukeren har valgt å dele krasjrapporter med Apple og utviklere.

Energy-arrangørfunksjonene inkluderer:

  • Symbol på serversiden når du laster opp symbolinformasjon til Apple.
  • Automatisk symbolisering av klientsiden når symbolinformasjon lagres lokalt.
  • CPU-eksemplarrapporter som blir generert når prosessen din avsluttes for høy CPU-bruk mens appen er i bakgrunnen.
  • Gruppere logger med lignende bakspor i energirapporter.
  • Viser den tyngste tilbaketrekningen av CPU-eksempellogger i Debug-navigatoren. Komprimering av stabelrammer fra logger av ikke-brukerbunkerammer og lave utvalgstabelrammer.

Bortsett fra det nye energiverktøyet, bringer Xcode 9.3 64-bits testmodus for Mac-apper.

Apple sier at macOS High Sierra er den siste utgivelsen av stasjonære operativsystem for å støtte 32-biters apper "uten kompromisser." For å forberede seg på en fremtidig utgivelse av macOS der 32-biters apper ikke lenger vil kjøres uten kompromiss, macOS High Sierra 10.13.4 varsler deg når du åpner en app som er avhengig av 32-bits programvare.

For å sikre at fremtidige utgivelser av Mac-appene sine er fullstendig 64-biters kompatible, bør utviklere de nye diagnoseverktøyene i Xcode 9.3 beta og teste på den nye macOS 10.13.4 beta. Utviklere kan også bruke en ny 64-bit testmodus i macOS 10.13.4 for å teste apper for 64-biters kompatibilitet ved å utføre Terminal-kommandoen sudo nvram boot-args = "- no32exec".

Denne nye testmodusen forhindrer lansering av 32-biters prosesser.

Å starte en app som er avhengig av 32-bits programvare resulterer i en varsling om at appen ikke kan åpnes. Andre typer programvare kan mislykkes lydløst i denne testmodusen, for eksempel 32-biters versjoner av Dashboard og WebKit-plugins, preferanseruter og bakgrunnsprosesser..

Fra Apples rådgivning til utviklere:

Fra 31. januar må nye apper sendt til Mac App Store støtte 64-bit, og Mac-appoppdateringer og eksisterende apper må støtte 64-bit fra juni 2018.

Hvis du distribuerer appene dine utenfor Mac App Store, anbefaler vi sterkt å distribuere 64-biters binære filer for å sikre at brukere kan fortsette å kjøre appene dine i fremtidige macOS-versjoner..

Xcode 9.3 bygger 64-biters apper som standard og advarer deg når du bygger for macOS for 32-biters arkitektur. Andre endringer i Xcode 9.3 inkluderer en rekke rettelser for feil, raskere kompileringstid for Swift-prosjekter, forbedringer for Swift og Apple LLVM-kompilatorer og mer.

Xcode 9.3 krever en Mac som kjører macOS 10.13.2 eller nyere. Appen inkluderer SDK-er for iOS 11.3, watchOS 4.3, macOS 10.13.4 og tvOS 11.3 programvareutvikling.

Xcode 9.3 beta kan sameksistere med tidligere versjoner av Xcode. Utviklere kan laste ned Xcode 9.3 beta fra Developer Center. Ved endelig utgivelse blir Xcode installert via Mac App Store.

Skjermbilde via fransk blogg MacGeneration