No se puede usar completamente la aplicación Apple Shake en macOS 10.13 High Sierra

10

En julio de 2009, Apple suspendió Shake. Apple no anunció el reemplazo directo de la aplicación, pero algunas características (estabilización y estimación del flujo óptico, por nombrar algunas) ahora están disponibles en Final Cut Pro X 10.4 y Motion 5.4 en 2018.

Apple Shake fue construido en 32 bits Carbon API. Seguramente entiendo que no es de 64 bits Cocoa API, estas API son diferentes. Pero Carbon.frameworktodavía está incluido en /System/Library/Frameworks/High Sierra, Sierra o El Capitan, y las aplicaciones antiguas (como Shake, Color, Soundtrack Pro) pueden usarlo.

Todavía estoy usando Shake en High Sierra lanzando shake a través de la aplicación Terminal:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Pero no puedo (por razones obvias) iniciar Shake haciendo clic en su icono en la Applicationscarpeta:

ingrese la descripción de la imagen aquí

Entonces tengo dos preguntas:

  1. ¿Qué debo hacer para evitar esta limitación del sistema operativo y hacer que Shake se ejecute después de hacer clic en su icono en la carpeta Aplicaciones o en el Dock?

  2. Si lo primero es imposible, ¿cómo deshacerse de la white crossed-out circlesuperposición en el ícono de Shake (el reemplazo regular de íconos no funciona en este caso)?

PD

ENCONTRÉ POSIBLE SOLUCIÓN (gracias a Thomas Voßen): Shake on Mac OS X 10.11.6

  1. Haz un duplicado de Shake.
  2. Seleccione "Mostrar contenido del paquete"
  3. Vaya a la carpeta "Contenido" y ábrala Info.plist. Xcode tiene un editor plist.
  4. Edite la entrada com.apple.shakey cámbiela a algo así com.apple.shake4.
  5. Guarde el archivo plist.

Ahora es posible iniciar Shake con un doble clic desde Finder en High Sierra 10.13.5.

Pero no hay Info.plistarchivo en la Contentscarpeta.


fuente
1
Creo que Apple tiene algún tipo de lista negra de aplicaciones antiguas integrada en el sistema operativo, lo que impide que ciertas aplicaciones antiguas se inicien. No tengo idea de por qué. iMovie HD hace exactamente lo mismo: se inicia bien desde el terminal, pero da ese mensaje si intenta iniciarlo normalmente.
Wowfunhappy
La idea es simple: dejar de admitir API antiguas))
1
Pero las API mismas siguen intactas, como lo demuestra el hecho de que puede iniciar el binario directamente a través del terminal. Así que simplemente están bloqueando una aplicación que de otra manera funcionaría bien.
Wowfunhappy
Intacto, pero probablemente desaprobado oficialmente.
calum_b

Respuestas:

7

Tu pregunta se responde sola.

Apple Shake se creó sobre la API de carbono de 32 bits. Seguramente entiendo que no es Cocoa API de 64 bits

Dejando a un lado el argumento de 32 bits versus 64 bits; El cacao es completamente diferente al carbono. No se ejecutará porque las API a las que se refiere Shake (Carbon) no son compatibles con lo que está ejecutando ahora (Cocoa).

Es importante tener en cuenta que Carbon quedó en desuso en 2012 con el lanzamiento de Mountain Lion (OS X 10.8.x). Recuerde, por qué y cuándo Apple agrega / elimina características es una prerrogativa completa.

En 2012, con el lanzamiento de OS X 10.8 Mountain Lion, la mayoría de las API de carbono se consideraron obsoletas. Los desarrolladores aún pueden acceder a las API y todas las aplicaciones de Carbon se ejecutarán, pero las API ya no se actualizarán.

En cuanto a Shake que se ejecuta en Terminal, este es un escenario completamente diferente: Cocoa y Carbon no entran en juego, es estrictamente una interfaz basada en texto.

ACTUALIZACIÓN: Después de un poco de investigación, descubrí dos cosas:

  • Shake ha sido relegado a "software incompatible" y Finder no lo iniciará. Período.

  • Hay una solución alternativa (ver más abajo) para que funcione en El Capitan porque las bibliotecas de Carbon todavía están incluidas, aunque están en desuso. Nota: Esto no ha sido probado / confirmado en Sierra / High Sierra. Como Apple lo considera "Software incompatible", no hay garantía de que la solución funcione por completo ni por cuánto tiempo. YMMV.

Solución alterna

  1. Haga clic derecho en Shake.App
  2. Vaya a Mostrar contenido del paquete .
  3. Vaya a Contenido -> MacOS -> agitar (seleccione shakeno tshake);
  4. Haga doble clic shake. Primero debería abrir una ventana de terminal y luego Shake debería estar ejecutándose.
  5. Cree un alias (un acceso directo) del archivo y colóquelo cuando lo desee. Launchpad no podrá verlo , aunque puede tener el acceso directo / alias en su carpeta de Aplicaciones.
Alano
fuente
Estoy de acuerdo con usted pero ... Si instalo Shake en Mac OS X 10.9 y luego realizo la instalación de OS X 10.11 (instalación no limpia), Shake funciona bien a través de UI y Terminal en El Capitan. Y no hay un círculo blanco tachado en el icono de Shake. Es bastante extraño
1
Entonces, ¿está instalando Shake en un sistema con las bibliotecas de interfaz de usuario requeridas y luego actualizando pero cuando instala en un sistema sin dichas bibliotecas no funciona? Con 10.8.x, el carbono se consideró obsoleto, lo que significa que se incluyó pero no se actualizó. 2 versiones más tarde, Apple obviamente dejó de incluir las bibliotecas.
Allan
De nuevo de acuerdo. ¿Puedo resucitar Shake en la interfaz de usuario de El Capital? ¿Quiero hacer que se inicie haciendo clic en su icono?
Comience con esto: apple.co/2tHY9qp Coco es literalmente la capa más alta en el marco donde las herramientas CLI operan cerca de la parte inferior en la capa Core OS.
Allan
Ya lo leí. Aparentemente estamos hablando de cosas diferentes. El punto es que si escribo "shake" en la Terminal, obtendré la GUI de Apple Shake (no el Apple Shake oculto controlado por la línea de comandos). Obtuve Apple Shake basado en Carbon API (no en su motor con interfaz basada en texto).
5

Este soy yo pensando en voz alta, por así decirlo, pero una cosa que también vale la pena intentar es usar AppleScript o Automator para crear una aplicación para hacer lo que ahora está haciendo manualmente a través de Terminal. Una vez que haya hecho eso, al agregar la aplicación a su carpeta de Aplicaciones estará disponible para Launchpad, el Dock, etc.

No estoy seguro de qué tan familiarizado está con AppleScript o Automator, pero al usar Automator como ejemplo, el proceso sería en general en estas líneas:

  1. Inicie Automator (generalmente se encuentra dentro de su carpeta de Aplicaciones)
  2. Vaya a Archivo> Nuevo
  3. Seleccione Aplicación y haga clic en Elegir.
  4. Sobre la segunda columna (más en el lado izquierdo) verá un campo de búsqueda en la parte superior de una larga lista
  5. Escriba "Ejecutar" en el campo para filtrar la lista
  6. Una de las opciones será Ejecutar script de shell
  7. Haga doble clic en esta opción.
  8. Esto agregará la ventana Ejecutar script de Shell a la derecha.
  9. Ahora configure e ingrese el script que necesita para replicar lo que ya está haciendo
  10. Vaya a Archivo> Guardar (o use commandS) para guardar esto como una aplicación

Ahora debería poder hacer doble clic en la aplicación que ha creado para iniciar Shake. También puede cambiar el icono de la aplicación a lo que desee, agregarlo al Dock, etc. Esto también estará disponible en Launchpad.

NOTA: - No estoy seguro de si todavía tengo Shake instalado en uno de mis Mac, así que no lo he probado para asegurarme de que funcione específicamente con Shake, pero en teoría debería estar bien en función de lo que ya lo estas haciendo

Monomeeth
fuente
5

Funciona en macOS 10.13.5 High Sierra . Hice un Info.plisty le agregué estas líneas:

<plist version="1.0">
<dict>
    <key>CFBundleExecutable</key>
    <string>Shake</string>
    <key>CFBundleGetInfoString</key>
    <string>Shake version 4.1.1</string>
    <key>CFBundleIconFile</key>
    <string>Shake</string>
    <key>CFBundleIdentifier</key>
    <string>com.apple.shake4</string>
    <key>CFBundleName</key>
    <string>Shake</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
</dict>
</plist>

Carbon API, así como Cocoa API, está estrechamente integrado con Core Foundation API de bajo nivel ( CF).

Aquí hay información útil sobre BundlesmacOS e iOS:

Guía de programación de paquetes - Acerca de los paquetes

Guía de programación de paquetes - Estructuras de paquetes

Ahora, al hacer clic en el icono de Shake en Dock, puedo iniciar Shake en la interfaz gráfica de usuario de High Sierra.

ingrese la descripción de la imagen aquí

Puedo ejecutarlo no solo desde Launchpad sino también a través de Terminal. Simultáneamente me permite ejecutar múltiples instancias de Shake.

ingrese la descripción de la imagen aquí


fuente
¡Eso es genial! Me alegra que hayas encontrado una solución que funcione para ti. :) Y gracias por volver a compartirlo con la comunidad. ¡Estoy seguro de que también ayudará a otros en el camino!
Monomeeth
La respuesta no me deja claro: ¿qué cambió exactamente en su info.plist frente al original? ¡Me encantaría saber específicamente qué lo solucionó para que pueda usarse para otras aplicaciones!
Wowfunhappy