Utilizzo di osadecompile per ottenere testo semplice AppleScript esegue determinate azioni dallo script

1

Ho utilizzato questa soluzione per decompilare i file AppleScript prima di aggiungerli a un repository Git. Fondamentalmente crea un filtro usando osacompile e osadecompile per convertire tra sorgenti di testo semplice e un AppleScript compilato.

Ho notato tuttavia che alcune applicazioni a cui fanno riferimento gli script iniziano in modo imprevisto su git add e il colpevole è osadecompile .

Esempio:

Quando eseguo osadecompile script.scpt con il seguente script, viene avviato un Firefox:

tell application "Firefox"
    open location "https://apple.stackexchange.com"
end tell

Non apre la posizione specificata, tuttavia il processo di Firefox viene avviato e rimane in esecuzione.

Domande:

  • C'è qualcosa che posso fare per evitarlo?

  • Che cosa sta succedendo esattamente qui? Lo script viene eseguito in background (altre azioni dagli script - come say "something" non sembrano essere eseguite)?

posta techraf 09.01.2017 - 09:21
fonte

1 risposta

2

Non sono sicuro di quale sia la ragione tecnica per questo, ma l'accesso al dizionario AppleScript di alcune applicazioni sembra richiedere l'apertura. Quando provo ad aprire il dizionario AppleScript di Firefox tramite Script Editor, verrà aperto anche Firefox. Quando provo ad aprire il dizionario di Keynote v5.3 (versione di iWork'09), l'app è aperta, mentre quando provo con Keynote v7.0.5, l'app non è aperta. Poiché Script Editor mostra lo stesso comportamento, non sono sicuro che ci sia un modo per evitarlo con osadecompile .

Non ho letto la documentazione per gli sviluppatori Apple su AppleScript in dettaglio, ma ho notato questa frase che suggerisce anche che alcune applicazioni devono essere aperte per accedere al loro dizionario AppleScript mentre altre no:

An aete is useful in 10.4 and earlier, in both Carbon and Cocoa applications, to provide a dictionary that scripting languages can use without launching the application.

    
risposta data 09.01.2017 - 09:47
fonte

Leggi altre domande sui tag