Impossible d'utiliser pleinement l'application Apple Shake dans macOS 10.13 High Sierra

10

En juillet 2009, Apple a arrêté Shake. Aucun remplacement direct d'application n'a été annoncé par Apple, mais certaines fonctionnalités (stabilisation et estimation du flux optique, pour n'en nommer que quelques-unes) sont désormais disponibles dans Final Cut Pro X 10.4 et Motion 5.4 en 2018.

Apple Shake a été construit sur 32 bits Carbon API. Je comprends sûrement que ce n'est pas du 64 bits Cocoa API, ces API sont différentes. Mais Carbon.frameworkest toujours inclus dans /System/Library/Frameworks/High Sierra, Sierra ou El Capitan, et d'excellentes vieilles applications (telles que Shake, Color, Soundtrack Pro) peuvent l'utiliser.

J'utilise toujours Shake dans High Sierra pour lancer shake via l'application Terminal:

entrez la description de l'image ici

entrez la description de l'image ici

Mais je ne peux pas (pour une raison évidente) lancer Shake en cliquant sur son icône dans le Applicationsdossier:

entrez la description de l'image ici

J'ai donc deux questions:

  1. Que dois-je faire pour contourner cette limitation du système d'exploitation et pour exécuter Shake après avoir cliqué sur son icône dans le dossier Applications ou sur le Dock?

  2. Si le premier est impossible, comment se débarrasser de la white crossed-out circlesuperposition sur l'icône de Shake (le remplacement d'icône normal ne fonctionne pas dans ce cas)?

PS

J'AI TROUVÉ UNE SOLUTION POSSIBLE (merci à Thomas Voßen): Shake sur Mac OS X 10.11.6

  1. Faites un double de Shake.
  2. Sélectionnez "Afficher le contenu du colis"
  3. Accédez au dossier "Contenu" et ouvrez Info.plist. Xcode a un éditeur plist.
  4. Modifiez l'entrée com.apple.shakeet changez-la en quelque chose comme com.apple.shake4.
  5. Enregistrez le fichier plist.

Il est maintenant possible de démarrer Shake avec un double clic depuis le Finder dans High Sierra 10.13.5.

Mais il n'y a pas de Info.plistfichier dans le Contentsdossier.


la source
1
Je pense qu'Apple a une sorte de vieille liste noire d'applications intégrée au système d'exploitation, qui empêche le lancement de certaines anciennes applications. Je ne sais pas pourquoi. iMovie HD fait exactement la même chose: démarre correctement depuis le terminal, mais donne ce message si vous essayez de le démarrer normalement.
Wowfunhappy
L'idée est simple: arrêtez de prendre en charge les anciennes API))
1
Mais les API elles-mêmes sont toujours d'actualité, comme en témoigne le fait que vous pouvez démarrer le binaire directement via le terminal. Ils bloquent donc carrément une application qui, autrement, fonctionnerait bien.
Wowfunhappy
Intacte, mais très probablement officiellement obsolète.
calum_b

Réponses:

7

Votre question se répond d'elle-même.

Apple Shake a été construit sur une API Carbon 32 bits. Je comprends sûrement que ce n'est pas l'API Cocoa 64 bits

Laissant de côté l'argument 32 bits contre 64 bits; Le cacao est entièrement différent du carbone. Cela ne fonctionnera pas parce que les API auxquelles Shake fait référence (Carbon) ne sont pas compatibles avec ce que vous exécutez actuellement (Cocoa).

Il est important de noter que Carbon a été déconseillé en 2012 avec la sortie de Mountain Lion (OS X 10.8.x). Rappelez-vous, pourquoi et quand Apple ajoute / supprime des fonctionnalités est entièrement leur prérogative.

En 2012, avec la sortie d'OS X 10.8 Mountain Lion, la plupart des API Carbon étaient considérées comme obsolètes. Les API sont toujours accessibles aux développeurs et toutes les applications Carbon s'exécuteront, mais les API ne seront plus mises à jour.

Quant à Shake exécuté dans Terminal, c'est un scénario complètement différent - Cocoa et Carbon n'entrent pas en jeu - c'est strictement une interface textuelle.

MISE À JOUR: Après un peu de recherche, j'ai découvert deux choses:

  • Shake a été relégué à "logiciel incompatible" et Finder ne le lancera pas. Période.

  • Il existe une solution de contournement (voir ci-dessous) pour le rendre fonctionnel dans El Capitan car les bibliothèques Carbon sont toujours incluses, bien que déconseillées. Remarque: Cela n'a pas été testé / confirmé dans Sierra / High Sierra. Étant donné que cela est considéré comme un «logiciel incompatible» par Apple, il n'y a aucune garantie que la solution de contournement fonctionnera pleinement ou pendant combien de temps. YMMV.

Solution de contournement

  1. Cliquez avec le bouton droit sur Shake.App
  2. Accédez à Afficher le contenu de l'emballage .
  3. Allez dans Contenu -> MacOS -> secouer ( shakene sélectionnez pas tshake);
  4. Double-cliquez shake. Il doit d'abord ouvrir une fenêtre de terminal, puis Shake doit être en cours d'exécution.
  5. Créez un alias (un raccourci) du fichier et placez-le quand vous le souhaitez. Launchpad ne pourra pas le voir , bien que vous puissiez avoir le raccourci / alias dans votre dossier Applications.
Allan
la source
Je suis d'accord avec vous mais ... Si j'installe Shake sur Mac OS X 10.9 et que j'effectue ensuite l'installation d'OS X 10.11 (installation non propre), Shake fonctionne bien via l'interface utilisateur et via le terminal dans El Capitan. Et il n'y a pas de cercle blanc barré sur l'icône de Shake. C'est assez étrange.
1
Donc, vous installez Shake sur un système avec les bibliothèques d'interface utilisateur requises, puis la mise à niveau, mais lorsque vous installez sur un système sans lesdites bibliothèques, cela ne fonctionne pas? Avec 10.8.x, Carbon était considéré comme obsolète - ce qui signifie qu'il était inclus mais pas mis à jour. 2 versions plus tard, Apple a évidemment cessé d'inclure les bibliothèques.
Allan
Encore une fois d'accord. Puis-je ressusciter Shake dans l'interface utilisateur d'El Capital? Je veux le faire lancer en cliquant sur son icône?
Commencez par ceci: apple.co/2tHY9qp Coco est littéralement la couche la plus haute du framework où les outils CLI fonctionnent près du bas de la couche Core OS.
Allan
Je l'ai déjà lu. Apparemment, nous parlons de différentes choses. Le point est - si je tape "shake" dans Terminal, je vais avoir l'interface graphique d'Apple Shake (pas l'Apple Shake caché contrôlé par la ligne de commande). J'obtiens Apple Shake construit sur Carbon API (pas son moteur avec une interface texte).
5

C'est moi qui réfléchis à haute voix, pour ainsi dire, mais une chose qui mérite également d'être essayée est d'utiliser AppleScript ou Automator pour créer une application pour faire ce que vous faites maintenant manuellement via Terminal. Une fois que vous avez fait cela, l'ajout de l'application à votre dossier Applications la rendra disponible pour Launchpad, le Dock, etc.

Je ne sais pas à quel point vous êtes familier avec AppleScript ou Automator, mais en utilisant Automator comme exemple, le processus serait globalement le long de ces lignes:

  1. Lancez Automator (généralement situé dans votre dossier Applications)
  2. Allez dans Fichier> Nouveau
  3. Sélectionnez Application et cliquez sur Choisir.
  4. Au-dessus de la deuxième colonne (plus à gauche), vous verrez un champ de recherche en haut d'une longue liste
  5. Tapez "Exécuter" dans le champ pour filtrer la liste
  6. L'une des options sera Exécuter le script shell
  7. Double-cliquez sur cette option
  8. Cela ajoutera la fenêtre Run Shell Script sur la droite.
  9. Maintenant, configurez et saisissez le script dont vous avez besoin pour reproduire ce que vous faites déjà
  10. Allez dans Fichier> Enregistrer (ou utiliser commandS) pour l'enregistrer en tant qu'application

Vous devriez maintenant pouvoir double-cliquer sur l'application que vous avez créée pour lancer Shake. Vous pouvez également changer l'icône de l'application en ce que vous voulez, l'ajouter au Dock, etc. Cela sera également disponible dans Launchpad.

REMARQUE: - Je ne sais pas si j'ai encore installé Shake sur l'un de mes Mac, donc je n'ai pas testé cela pour m'assurer qu'il fonctionnera spécifiquement avec Shake, mais en théorie, cela devrait être bien en fonction de ce que vous faites déjà.

Monomeeth
la source
5

Il fonctionne dans macOS 10.13.5 High Sierra . J'ai fait un Info.plistet y ai ajouté ces lignes:

<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>

L'API Carbon, ainsi que l'API Cocoa, sont étroitement intégrées à l'API Core Foundation de bas niveau ( CF).

Voici des informations utiles sur BundlesmacOS et iOS:

Guide de programmation des bundles - À propos des bundles

Guide de programmation des bundles - Structures des bundles

Maintenant, en cliquant sur l'icône de Shake sur le Dock, je peux lancer Shake dans l'interface graphique de High Sierra.

entrez la description de l'image ici

Je peux l'exécuter non seulement depuis Launchpad, mais aussi via Terminal. Cela me permet simultanément d'exécuter plusieurs instances de Shake.

entrez la description de l'image ici


la source
C'est génial! Je suis heureux que vous ayez trouvé une solution qui fonctionne pour vous. :) Et merci d'être revenu pour le partager avec la communauté. Je suis sûr que cela aidera aussi les autres en cours de route!
Monomeeth
Je ne suis pas clair dans la réponse - qu'est-ce qui a exactement changé dans votre info.plist par rapport à l'original? Je serais ravi de savoir précisément ce qui l'a corrigé afin que cela puisse être utilisé pour d'autres applications!
Wowfunhappy