3 votos

Asociar el manejador de protocolo en Mac OS X

Muchas herramientas admiten una función de enlace de elementos mediante protocolo; con un enlace determinado, puedo abrir la página con la herramienta que lo creó.

Por ejemplo, puedo abrir la página de DEVONthink que hice:

open -a "DEVONthink Pro.app" x-devonthink-item://2AD2E3D2-58B5-455F-99D4-C91D68C5F959

¿Puedo enseñar a Mac OS X que el x-devonthink-item ¿es el protocolo "DEVONthink" para hacer el comando así?

open "x-devonthink-item://2AD2E3D2-58B5-455F-99D4-C91D68C5F959"

7voto

tubedogg Puntos 6827

Los controladores de protocolo se registran en OS X en los paquetes de aplicaciones (concretamente, en el archivo info.plist del paquete Contents directorio). Esto debería hacerlo la aplicación que lo soporta. En otras palabras, deberías poder ejecutar directamente el segundo comando y hacer que abra DEVONthink. Basado en esta página parece que es así, pero dices que no es así, por lo que hay una forma relativamente fácil de hacerlo para cualquier programa.

Si no es así, o si simplemente quieres registrar tu propio manejador, aquí tienes algunos pasos (modificados de Lanzamiento de aplicaciones externas mediante protocolos personalizados en OSX ).

Cree un archivo AppleScript que contenga lo siguiente.

on open location this_URL
    do shell script "open -a 'Applications/DEVONthink Pro.app' this_URL"
end open location

En la segunda línea, se define lo que debe suceder cuando se llama a su protocolo. this_URL será la URL completa introducida (en la línea de comandos o en otro lugar), incluyendo el protocolo. En tu caso, quieres pasar la URL completa incluyendo x-devonthink-item en DEVONthink. Si usted está creando su propio protocolo, es posible que desee pasar sólo una parte de la cadena, así que téngalo en cuenta.

Guarde el AppleScript como un paquete de aplicaciones. Una vez guardado, búsquelo en el disco, haga clic con el botón derecho del ratón y elija Mostrar contenido del paquete. Dentro de la carpeta Contents habrá un archivo llamado info.plist. Ábralo en un editor de texto ( no TextEdit, ya que es casi seguro que estropeará el formato del archivo).

En la parte inferior del archivo estará

</dict>
</plist>

Justo encima de esto, añade lo siguiente:

    <key>CFBundleIdentifier</key>
    <string>org.personal.dttrick</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>Pass To DEVONthink</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>x-devonthink-item</string>
            </array>
        </dict>
    </array>

Guarda y haz doble clic en tu aplicación. No debería pasar nada, y eso está bien - pero en el fondo, se ha registrado el protocolo con el sistema operativo.

Finalmente, de vuelta en el Terminal, ejecute el comando deseado:

open "x-devonthink-item://2AD2E3D2-58B5-455F-99D4-C91D68C5F959"

DEVONthink debería abrirse con el elemento especificado. No tengo DEVONthink y no he podido probarlo; me baso en que el comando que proporcionaste originalmente funciona. Si no es así, tendrás que modificar el shell script en el AppleScript para reflejar lo que debe ser el comando real.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X