Come registrare AppleScript come browser Web predefinito in Yosemite?

5

Questa è essenzialmente la stessa domanda di Come registrare un AppleScript come potenziale browser Web predefinito? , ma la soluzione non sembra funzionare su Yosemite ( LSIsAppleDefaultForScheme non esiste più).

Ho scritto un AppleScript , salvato come applicazione e selezionato "Resta aperto". Ho anche aggiunto un CFBundleURLTypes voce su Info.plist con http e https e identificatore" URL sito Web ", mimando voci nei plists di altri browser. Penso che fondamentalmente la stessa procedura abbia funzionato quando ho provato l'ultima volta su Mavericks.

Tuttavia, LaunchServices sembra non essere in grado di rilevare l'applet come un browser Web predefinito. Ho già provato a ricostruire il DB LaunchServices e ad aprire e chiudere l'applet alcune volte.

Qualcun altro ha provato a farlo recentemente?

    
posta dysonsfrog 25.06.2015 - 11:52
fonte

2 risposte

1

La mia esperienza è che non è più possibile definire un applet AppleScript come il gestore predefinito in anticipo da Info.plist. E, se ci provi, includendo LSIsAppleDefaultForScheme nel tuo Info.plist, quell'applet non sarà più nemmeno ammessa come gestore per il tipo di URL. Dopo l'aggiornamento a Yosemite, la mia applet non sarebbe più stata chiamata quando ho fatto clic su un collegamento utilizzando il mio protocollo personalizzato. Ho invece ricevuto l'errore di sistema non gestito quando ho fatto clic sul collegamento. Una volta rimosso LSIsAppleDefaultForScheme, ha iniziato a funzionare di nuovo.

Sembra forse più difficile ottenere che Mac OS X riconosca gestori alternativi per http e https. Quando ho provato a impostare il mio Info.plist per questi, l'applet non è stata visualizzata come opzione per "Browser Web predefinito" nel pannello delle preferenze generali del sistema. Tuttavia, il pannello delle preferenze di terze parti RCDefaultApp è stato in grado di visualizzare e impostare la mia applet come gestore per il protocollo http utilizzando la sua sezione URL, che sembrava funzionare. Tuttavia, anche questo era un po 'strano: se l'applet non era aperta ma era aperta un'applet differente con un BundleID diverso, la prima volta che clicco su un link http portò quell'altra applet in primo piano, invece di lanciarla.

Quindi, per farla breve: non sono sicuro di avere una soluzione perfetta per questo, ma forse RCDefaultApp ti aiuterà a farlo funzionare in un modo che funzioni per te.

    
risposta data 20.08.2015 - 17:14
fonte
0

Puoi farlo con Platypus registrandolo come gestore di schemi URI per http e https.

Per i dettagli vedi questa risposta .

    
risposta data 22.06.2017 - 23:41
fonte

Leggi altre domande sui tag