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

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

Apple Shake se creó 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 batido 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í

Así que tengo dos preguntas:

  1. ¿Qué debo hacer para eludir 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 white crossed-out circlela superposición en el ícono de Shake (el reemplazo de ícono regular no funciona en este caso)?

PD

ENCONTRÉ UNA POSIBLE SOLUCIÓN (gracias a Thomas Voßen): Shake en 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 abra Info.plist. Xcode tiene un editor de plist.
  4. Edite la entrada com.apple.shakey cámbiela a algo como com.apple.shake4.
  5. Guarde el archivo plist.

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

Pero no hay ningún Info.plistarchivo en la Contentscarpeta.

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

Respuestas (3)

Tu pregunta se responde sola.

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

Dejando de 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ó obsoleto en 2012 con el lanzamiento de Mountain Lion (OS X 10.8.x). Recuerde, por qué y cuándo Apple agrega o elimina funciones es prerrogativa exclusiva de ellos.

En 2012, con el lanzamiento de OS X 10.8 Mountain Lion, la mayoría de las API de Carbon 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 ejecutándose 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 investigar un poco, descubrí dos cosas:

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

  • Hay una solución (ver más abajo) para que funcione en El Capitan porque las bibliotecas de Carbon aún están incluidas, aunque obsoletas. 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 completamente o 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 Contenidos --> MacOS --> agitar (seleccione shakeno tshake);
  4. Haga doble shakeclic Primero debería abrir una ventana de terminal y luego Shake debería estar ejecutándose.
  5. Crea un alias (un acceso directo) del archivo y colócalo cuando quieras. Launchpad no podrá verlo , aunque puede tener el acceso directo/alias en su carpeta Aplicaciones.
Estoy de acuerdo contigo, 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 la interfaz de usuario y de la terminal en El Capitan. Y no hay un círculo blanco tachado en el icono de Shake. Es bastante extraño.
Por lo tanto, está instalando Shake en un sistema con las bibliotecas de interfaz de usuario necesarias y luego actualizando, pero cuando lo instala en un sistema sin dichas bibliotecas , ¿no funciona? Con 10.8.x, Carbon 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.
De nuevo de acuerdo. ¿Puedo resucitar a Shake en UI de El Capital? ¿Me refiero a 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.
ya lo he leido Aparentemente estamos hablando de cosas diferentes. El punto es: si escribo "agitar" en la Terminal, obtendré la GUI de Apple Shake (no el Apple Shake oculto controlado por la línea de comandos). Obtengo Apple Shake basado en Carbon API (no su motor con interfaz basada en texto).
"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 Aplicaciones". lo he probado No puedo asignar un nuevo ícono para ese alias. discusiones.apple.com/thread/6607341?start=0&tstart=0
¿Es un icono tan importante? La gran pregunta es ¿funciona esta solución?
Sí, funciona, pero estoy acostumbrado a Launchpad.
¿Cómo creaste el alias? Usaría Terminal y usaría un enlace simbólico . Debería poder cambiar el icono del enlace simbólico. Entiendo que tiene un flujo de trabajo, pero teniendo en cuenta que se suspendió desde 2009, tendrá que comprometer algunos.

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 la Terminal. Una vez que haya hecho eso, agregar la aplicación a su carpeta Aplicaciones hará que esté disponible para Launchpad, el Dock, etc.

No estoy seguro de qué tan familiarizado está con AppleScript o Automator, pero usando Automator como ejemplo, el proceso sería, en líneas generales, similar a este:

  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. Encima de 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 Shell Script
  7. Haga doble clic en esta opción
  8. Esto agregará la ventana Run Shell Script 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 ícono 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 una 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 según lo que ya estás haciendo.

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>

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

Aquí hay información útil sobre Bundlesen macOS 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 ícono de Shake en el Dock, puedo iniciar Shake en la GUI 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í

¡Eso es genial! Me alegro de que hayas encontrado una solución que te funcione. :) Y gracias por volver a compartirlo con la comunidad. ¡Estoy seguro de que también ayudará a otros en el camino!
No me queda claro la respuesta: ¿qué cambió exactamente en su info.plist en comparación con el original? ¡Me encantaría saber específicamente qué lo arregló para que pueda usarse para otras aplicaciones!