Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Automatisera OS X med Javascript

Kommer du ofta på dig själv med att göra saker du helst skulle automatisera? Har du tittat på Applescript men inte orkat lära dig språket? Använd Javascript istället.

Jobba interaktivt med Javascript

Det lättaste sättet att börja experimentera med Javascript och OS X är via en REPL, en akronym för read-eval-print-loop och uttalas "räppell". Detta kommandoradsverktyg fungerar på samma sätt som motsvarande i Python, Ruby och Node. Du matar helt enkelt in instruktioner en och en, varpå resultatet skrivs ut direkt. Öppna terminalen och skriv:

osascript -il JavaScript

Där argumentet "i" står för interaktivt och "l" (litet L) låter dig välja Javascript istället för Applescript. Prova sedan med att skriva:

Application("Safari").running()

Som svarar med true eller false beroende på om Safari körs eller inte. Detta svar är av typen boolean och det kan vi använda för ett villkorstest:

Application("Safari").running() ? console.log("Safari är öppet") : console.log("Safari är inte öppet”)

Bekanta dig med skriptredigeraren

Även om REPL-funktionen är praktisk för att experimentera blir den svårjobbad när du ska skriva längre skript. Då är det dags att öppna Skriptredigeraren som är det inbyggda verktyget i OS X för att skriva och köra skript inom Open Scripting Architecture (OSA).

När du kör igång Skriptredigeraren och skapar ett nytt skript så möts du av ett ganska avskalat gränssnitt. Det ackompanjeras av ett fönster som ger dig snabbåtkomst till dokumentationen för hur olika Apple-program kan skriptas.

Vi bygger på det vi experimenterade med i REPL-funktionen men jobbar denna gång mot Mails skriptgränssnitt. Först skapar vi ett objekt för själva skriptet som vi sedan kan använda för att visa dialogrutor:

var app = Application.currentApplication()
app.includeStandardAdditions = true

Den andra raden anger att vi vill inkludera extra funktionalitet, vilket krävs för att visa dialogrutor. Därefter hämtar vi en referens till Mail:

var Mail = Application("Mail")

Därefter bygger vi samma villkorssats som i REPL-funktionen, men denna gång visar vi meddelandet i en dialogruta och anropar Mails skriptgränssnitt för att starta eller stänga applikationen:

if (Mail.running()) {
	app.displayAlert("Status", {"message": String("Mail körs, avslutar…")})
    Mail.quit()
}
else {
	app.displayAlert("Status", {"message": String("Mail är inte igång, startar…")})
	Mail.checkForNewMail()
}

Notera att displayAlert-metoden tar ett objekt som andra parameter, här bestående av nyckeln "message" som innehåller en textsträng. Det här var lärorikt men inte speciellt användbart. Låt oss bygga något du faktiskt har användning för och dessutom bekanta oss med Automator.

Skriven av Andreas Bergström

Inget är som väntans tider, särskilt om du går och väntar på en iMac med Apples egna processor.

Inom kort kommer 99mac bli Macradion och då blir det en ny plattform med ett betydligt modernare forum.

Då var Apple Watch Series 7 här och ryktena stämde inte i år utan det blev samma design som vi sedan tidigare är vana vid.

Varje resa har ett slut och varje slut har en ny början och nu är det dags för oss att gå över till en modern plattform.

Apples event är över och i detta extra långa avsnitt får vi följa Marcus, Marcus, Dennis och Thor när de följer eventet live tillsammans med efterföljande diskussion om intrycken det gav.

Är du en av de som inte gillade det nya utseendet på Safari i macOS Monterey? Nu kan du lugna dig, Apple har backat på designen.