Die Apple Shake-Anwendung kann in macOS 10.13 High Sierra nicht vollständig verwendet werden

10

Im Juli 2009 stellte Apple Shake ein. Apple hat keinen direkten Anwendungsersatz angekündigt, aber einige Funktionen (Stabilisierung und Schätzung des optischen Flusses, um nur einige zu nennen) sind ab 2018 in Final Cut Pro X 10.4 und Motion 5.4 verfügbar.

Apple Shake wurde auf 32-Bit aufgebaut Carbon API. Ich verstehe sicherlich, dass es nicht 64-Bit ist Cocoa API, diese APIs sind unterschiedlich. Ist Carbon.frameworkaber immer noch in /System/Library/Frameworks/High Sierra, Sierra oder El Capitan enthalten, und großartige alte Apps (wie Shake, Color, Soundtrack Pro) können es verwenden.

Ich verwende immer noch Shake in High Sierra, um Shake über die Terminal-App zu starten :

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Ich kann Shake jedoch nicht (aus offensichtlichen Gründen) starten, indem ich auf das entsprechende Symbol im ApplicationsOrdner klicke:

Geben Sie hier die Bildbeschreibung ein

Ich habe also zwei Fragen:

  1. Was kann ich tun, um diese Betriebssystembeschränkung zu umgehen und Shake auszuführen, nachdem ich auf das Symbol im Anwendungsordner oder im Dock geklickt habe?

  2. Wenn das erste nicht möglich ist, wie kann man die white crossed-out circleÜberlagerung des Shake-Symbols entfernen (der reguläre Symbolaustausch funktioniert in diesem Fall nicht)?

PS

Ich habe eine mögliche Lösung gefunden (danke an Thomas Voßen): Shake unter Mac OS X 10.11.6

  1. Machen Sie ein Duplikat von Shake.
  2. Wählen Sie "Paketinhalt anzeigen"
  3. Gehen Sie zum Ordner "Inhalt" und öffnen Sie ihn Info.plist. Xcode hat einen Plist-Editor.
  4. Bearbeiten Sie den Eintrag com.apple.shakeund ändern Sie ihn in etwas wie com.apple.shake4.
  5. Speichern Sie die Plist-Datei.

Jetzt ist es möglich, Shake mit einem Doppelklick aus dem Finder in High Sierra 10.13.5 zu starten.

Es befindet sich jedoch keine Info.plistDatei im ContentsOrdner.


quelle
1
Ich denke, Apple hat eine Art alte App-Blacklist in das Betriebssystem integriert, die den Start bestimmter alter Apps verhindert. Keine Ahnung warum. iMovie HD macht genau das Gleiche: Es wird problemlos vom Terminal aus gestartet, gibt diese Meldung jedoch aus, wenn Sie versuchen, es normal zu starten.
Wowfunhappy
Die Idee ist einfach: Stoppen Sie die Unterstützung alter APIs))
1
Die APIs selbst sind jedoch immer noch aktuell, wie die Tatsache zeigt, dass Sie die Binärdatei direkt über das Terminal starten können. Sie blockieren also geradezu eine App, die sonst gut funktionieren würde.
Wowfunhappy
Intakt, aber höchstwahrscheinlich offiziell veraltet.
Calum_b

Antworten:

7

Ihre Frage beantwortet sich von selbst.

Apple Shake basiert auf der 32-Bit-Carbon-API. Ich verstehe sicherlich, dass es keine 64-Bit-Cocoa-API ist

Abgesehen von dem 32-Bit- gegenüber dem 64-Bit-Argument; Kakao ist ganz anders als Kohlenstoff. Es wird nicht ausgeführt, da die APIs, auf die sich Shake bezieht (Carbon), nicht mit dem kompatibel sind, was Sie gerade ausführen (Cocoa).

Es ist wichtig zu beachten, dass Carbon 2012 mit der Veröffentlichung von Mountain Lion (OS X 10.8.x) veraltet war. Denken Sie daran, warum und wann Apple Funktionen hinzufügt / entfernt, liegt ganz bei ihnen.

Im Jahr 2012, mit der Veröffentlichung von OS X 10.8 Mountain Lion, galten die meisten Carbon APIs als veraltet. Die APIs sind weiterhin für Entwickler zugänglich und alle Carbon-Anwendungen werden ausgeführt, die APIs werden jedoch nicht mehr aktualisiert.

Was Shake betrifft, das im Terminal ausgeführt wird, ist dies ein völlig anderes Szenario - Kakao und Kohlenstoff kommen nicht ins Spiel - es handelt sich ausschließlich um eine textbasierte Oberfläche.

UPDATE: Nach ein wenig Recherche habe ich zwei Dinge entdeckt:

  • Shake wurde in "inkompatible Software" verwiesen und Finder wird es nicht starten. Zeitraum.

  • Es gibt eine Problemumgehung (siehe unten), um es in El Capitan funktionsfähig zu machen, da die Carbon-Bibliotheken weiterhin enthalten sind, obwohl sie veraltet sind. Hinweis: Dies wurde in Sierra / High Sierra nicht getestet / bestätigt. Da dies von Apple als "inkompatible Software" eingestuft wird, gibt es keine Garantie dafür, dass die Problemumgehung vollständig funktioniert oder wie lange. YMMV.

Umgehen

  1. Klicken Sie mit der rechten Maustaste auf Shake.App
  2. Gehen Sie zu Paketinhalt anzeigen .
  3. Gehen Sie zu Inhalt -> MacOS -> Schütteln ( shakenicht auswählen tshake);
  4. Doppelklicken Sie shake. Es sollte zuerst ein Terminalfenster öffnen und dann sollte Shake ausgeführt werden.
  5. Erstellen Sie einen Alias ​​(eine Verknüpfung) der Datei und platzieren Sie ihn, wann immer Sie möchten. Launchpad kann es nicht sehen , obwohl Sie die Verknüpfung / den Alias ​​in Ihrem Anwendungsordner haben können.
Allan
quelle
Ich stimme Ihnen zu, aber ... Wenn ich Shake unter Mac OS X 10.9 installiere und dann die Installation von OS X 10.11 durchführe (keine Neuinstallation), funktioniert Shake gut über die Benutzeroberfläche und über das Terminal in El Capitan. Und es gibt keinen durchgestrichenen weißen Kreis auf Shakes Symbol. Es ist ziemlich seltsam.
1
Sie installieren Shake also auf einem System mit den erforderlichen UI-Bibliotheken und aktualisieren dann, aber wenn Sie auf einem System ohne diese Bibliotheken installieren , funktioniert es nicht? Mit 10.8.x galt Carbon als veraltet - was bedeutet, dass es enthalten, aber nicht aktualisiert wurde. 2 Versionen später hat Apple offensichtlich aufgehört, die Bibliotheken einzuschließen.
Allan
Wieder zustimmen. Kann ich Shake in der Benutzeroberfläche von El Capital wiederbeleben? Ich möchte es starten lassen, indem ich auf das entsprechende Symbol klicke.
Beginnen Sie damit: apple.co/2tHY9qp Coco ist buchstäblich die oberste Ebene im Framework, in der CLI-Tools auf der Core OS-Ebene in der Nähe der untersten Ebene ausgeführt werden.
Allan
Ich habe es schon gelesen Scheinbar sprechen wir über verschiedene Dinge. Der Punkt ist - wenn ich "Shake" in Terminal eingebe, wird die Benutzeroberfläche von Apple Shake angezeigt (nicht der versteckte Apple Shake, der über die Befehlszeile gesteuert wird). Ich bekomme Apple Shake basierend auf der Carbon API (nicht die Engine mit textbasierter Oberfläche).
5

Ich denke sozusagen laut nach, aber es lohnt sich auch, entweder AppleScript oder Automator zu verwenden, um eine Anwendung zu erstellen, mit der Sie das, was Sie jetzt manuell tun, manuell über das Terminal ausführen können. Wenn Sie dies getan haben, wird die Anwendung durch Hinzufügen zu Ihrem Anwendungsordner für Launchpad, das Dock usw. verfügbar.

Ich bin mir nicht sicher, wie gut Sie mit AppleScript oder Automator vertraut sind, aber am Beispiel von Automator würde der Prozess im Großen und Ganzen in diese Richtung gehen:

  1. Starten Sie Automator (normalerweise in Ihrem Anwendungsordner)
  2. Gehen Sie zu Datei> Neu
  3. Wählen Sie Anwendung und klicken Sie auf Auswählen.
  4. Über der zweiten Spalte (mehr auf der linken Seite) sehen Sie ein Suchfeld oben in einer langen Liste
  5. Geben Sie "Ausführen" in das Feld ein, um die Liste zu filtern
  6. Eine der Optionen ist Shell-Skript ausführen
  7. Doppelklicken Sie auf diese Option
  8. Dadurch wird rechts das Fenster "Shell-Skript ausführen" hinzugefügt.
  9. Konfigurieren Sie nun das Skript, das Sie benötigen, um das zu replizieren, was Sie bereits tun, und geben Sie es ein
  10. Gehen Sie zu Datei> Speichern (oder verwenden commandS), um dies als Anwendung zu speichern

Jetzt sollten Sie in der Lage sein, auf die Anwendung zu doppelklicken, die Sie zum Starten von Shake erstellt haben. Sie können das Anwendungssymbol auch nach Belieben ändern, zum Dock hinzufügen usw. Dies ist auch im Launchpad verfügbar.

HINWEIS: - Ich bin mir nicht sicher, ob Shake noch auf einem meiner Macs installiert ist. Daher habe ich dies nicht getestet, um sicherzustellen, dass es speziell mit Shake funktioniert. Theoretisch sollte es jedoch in Ordnung sein du machst schon

Monomeeth
quelle
5

Es funktioniert in macOS 10.13.5 High Sierra . Ich habe eine gemacht Info.plistund diese Zeilen hinzugefügt:

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

Die Carbon API sowie die Cocoa API sind eng in die Low Foundation Core Foundation API ( CF) integriert.

Hier sind nützliche Informationen zu BundlesMacOS und iOS:

Programmierhandbuch für Bundles - Informationen zu Bundles

Bundle-Programmierhandbuch - Bundle-Strukturen

Wenn Sie nun auf Shakes Symbol im Dock klicken, kann ich Shake in der GUI von High Sierra starten.

Geben Sie hier die Bildbeschreibung ein

Ich kann es nicht nur vom Launchpad aus ausführen, sondern auch über das Terminal. Es ermöglicht mir gleichzeitig, mehrere Instanzen von Shake auszuführen.

Geben Sie hier die Bildbeschreibung ein


quelle
Das ist großartig! Ich bin froh, dass Sie eine Lösung gefunden haben, die für Sie funktioniert. :) Und danke, dass du zurückgekommen bist, um es mit der Community zu teilen. Ich bin sicher, es wird auch anderen auf dem Weg helfen!
Monomeeth
Aus der Antwort geht nicht hervor, was genau in Ihrer info.plist gegenüber dem Original geändert wurde. Ich würde gerne genau wissen, was das Problem behoben hat, damit dies für andere Apps verwendet werden kann!
Wowfunhappy