Met Xcode 9.3 kunnen ontwikkelaars iOS-apps met batterijvermogen identificeren en Mac-apps testen in 64-bits modus

Afgezien van het bekijken van de belangrijkste nieuwe functies en verbeteringen die dit voorjaar naar je iPhone en iPad komen via de komende iOS 11.3-software en het vrijgeven van een spervuur ​​van nieuwe OS-bèta's, heeft Apple gisteren ook de Xcode 9.3-bèta laten vallen met enkele interessante nieuwe mogelijkheden.

Het biedt onder andere nieuwe hulpmiddelen om ontwikkelaars te helpen bij het identificeren van apps die te veel batterijen gebruiken en macOS-apps te testen voor 64-bits compatibiliteit.

Hoewel Apple's beloofde energiebeheer, batterijstatus en CPU-throttlingfuncties niet live zijn in de eerste bèta van iOS 11.3 (ze komen binnenkort via een aankomende nieuwe bèta), kunnen ontwikkelaars nu profiteren van de nieuwe Energy organizer-tool van Xcode 9.3 om identificeren of een app of app-extensie te veel stroom verbruikt.

Zoals te zien bovenaan de post, wordt een zich misdragende app die een redelijke CPU-drempel overschrijdt wanneer deze op de voorgrond of op de achtergrond wordt uitgevoerd, vastgelegd in het logboek, waardoor het voor app-makers gemakkelijker is om te bepalen wat precies de oorzaak is van het leeglopen van de batterij op het apparaat van een gebruiker. Deze functie waarschuwt een ontwikkelaar zelfs over problemen met het batterijgebruik nadat hun app live is gegaan in de App Store, op voorwaarde dat de gebruiker ervoor heeft gekozen crashrapporten te delen met Apple en ontwikkelaars.

De functies van de Energy organizer zijn onder meer:

  • Symbool aan serverzijde bij het uploaden van symboolinformatie naar Apple.
  • Automatische client-side symbolisering wanneer symboolinformatie lokaal wordt opgeslagen.
  • CPU-voorbeeldrapporten die worden gegenereerd wanneer uw proces wordt beëindigd voor hoog CPU-gebruik terwijl de app op de achtergrond is.
  • Logboeken groeperen met soortgelijke backtraces in energierapporten.
  • De zwaarste backtrace van CPU-voorbeeldlogboeken bekijken in de Debug-navigator. Log-stackframes comprimeren door niet-gebruiker stackframes en lage sample-count stapelframes.

Naast de nieuwe Energy-tool biedt Xcode 9.3 64-bit testmodus voor Mac-apps.

Apple zegt dat macOS High Sierra de laatste release van het desktopbesturingssysteem is die 32-bit apps ondersteunt 'zonder compromis'. MacOS High Sierra bereidt zich voor op een toekomstige release van macOS waarin 32-bit apps niet langer zonder compromissen worden uitgevoerd. 10.13.4 waarschuwt u bij het openen van een app die afhankelijk is van 32-bits software.

Om ervoor te zorgen dat toekomstige releases van hun Mac-apps volledig 64-bit compatibel zijn, moeten ontwikkelaars de nieuwe diagnostische hulpmiddelen in Xcode 9.3 beta en testen op de nieuwe macOS 10.13.4 beta. Ontwikkelaars kunnen ook een nieuwe 64-bits testmodus in macOS 10.13.4 gebruiken om apps te testen op 64-bits compatibiliteit door de opdracht Terminal uit te voeren sudo nvram boot-args = "- no32exec".

Deze nieuwe testmodus voorkomt dat 32-bits processen worden gestart.

Het starten van een app die afhankelijk is van 32-bits software resulteert in een melding dat de app niet kan worden geopend. Andere soorten software kunnen in deze testmodus geruisloos mislukken, zoals 32-bits versies van Dashboard- en WebKit-plug-ins, voorkeursvensters en achtergrondprocessen.

Van Apple's advies aan ontwikkelaars:

Vanaf 31 januari moeten nieuwe apps die zijn ingediend bij de Mac App Store 64-bit ondersteunen, en Mac-app-updates en bestaande apps moeten 64-bit ondersteunen vanaf juni 2018.

Als u uw apps buiten de Mac App Store distribueert, raden we ten zeerste aan 64-bits binaire bestanden te distribueren om ervoor te zorgen dat gebruikers uw apps kunnen blijven uitvoeren op toekomstige macOS-versies.

Xcode 9.3 bouwt standaard 64-bit apps en waarschuwt u bij het bouwen voor macOS voor de 32-bit architectuur. Andere wijzigingen in Xcode 9.3 omvatten een aantal fixes voor bugs, snellere compilatietijden voor Swift-projecten, verbeteringen voor Swift- en Apple LLVM-compilers en meer.

Xcode 9.3 vereist een Mac met macOS 10.13.2 of hoger. De app bevat SDK's voor iOS 11.3, watchOS 4.3, macOS 10.13.4 en tvOS 11.3 softwareontwikkeling.

Xcode 9.3 beta kan samengaan met eerdere versies van Xcode. Ontwikkelaars kunnen Xcode 9.3 beta downloaden van het Developer Center. Na de definitieve release wordt Xcode geïnstalleerd via de Mac App Store.

Schermafbeelding via het Franse blog MacGeneration