Impossibile utilizzare completamente l'applicazione Apple Shake in macOS 10.13 High Sierra


10

Nel luglio 2009, Apple ha interrotto Shake. Apple non ha annunciato la sostituzione di un'applicazione diretta, ma alcune funzionalità (stabilizzazione e stima del flusso ottico, per citarne alcune) sono ora disponibili in Final Cut Pro X 10.4 e Motion 5.4 nel 2018.

Apple Shake è stato sviluppato a 32 bit Carbon API. Sicuramente capisco che non è a 64 bit Cocoa API, queste API sono diverse. Ma Carbon.frameworkè ancora incluso in /System/Library/Frameworks/High Sierra, Sierra o El Capitan e le grandi vecchie app (come Shake, Color, Soundtrack Pro) possono usarlo.

Sto ancora usando Shake in High Sierra lanciando shake tramite l'app Terminal:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Ma non posso (per ovvi motivi) avviare Shake facendo clic sulla sua icona nella Applicationscartella:

inserisci qui la descrizione dell'immagine

Quindi ho due domande:

  1. Cosa devo fare per aggirare questa limitazione del sistema operativo e far funzionare Shake dopo aver fatto clic sulla sua icona nella cartella Applicazioni o nel Dock?

  2. Se il primo è impossibile, come sbarazzarsi della white crossed-out circlesovrapposizione sull'icona di Shake (in questo caso la sostituzione regolare dell'icona non funziona)?

PS

HO TROVATO UNA POSSIBILE SOLUZIONE (grazie a Thomas Voßen): agita su Mac OS X 10.11.6

  1. Crea un duplicato di Shake.
  2. Seleziona "Mostra contenuto pacchetto"
  3. Vai alla cartella "Contenuti" e apri Info.plist. Xcode ha un editor plist.
  4. Modifica la voce com.apple.shakee cambiala in qualcosa del genere com.apple.shake4.
  5. Salva il file plist.

Ora è possibile avviare Shake con un doppio clic dal Finder in High Sierra 10.13.5.

Ma non ci sono Info.plistfile nella Contentscartella.


1
Penso che Apple abbia una sorta di vecchia lista nera di app integrata nel sistema operativo, che impedisce l'avvio di alcune vecchie app. Non ho idea del perché. iMovie HD fa esattamente la stessa cosa: si avvia bene dal terminale, ma dà quel messaggio se si tenta di avviarlo normalmente.
Wowfunhappy,

L'idea è semplice: smetti di supportare le vecchie API))

1
Ma le API stesse sono ancora intatte, come dimostra il fatto che è possibile avviare il binario direttamente tramite terminale. Quindi stanno semplicemente bloccando un'app che altrimenti funzionerebbe bene.
Wowfunhappy,

Intatto, ma molto probabilmente ufficialmente deprecato.
calum_b,

Risposte:


7

La tua domanda risponde a se stessa.

Apple Shake è stato sviluppato su Carbon API a 32 bit. Capisco sicuramente che non è l'API Cocoa a 64 bit

Lasciando da parte l'argomento 32 bit contro 64 bit; Il cacao è completamente diverso dal carbonio. Non funzionerà perché le API a cui si riferisce Shake (Carbon) non sono compatibili con ciò che stai eseguendo ora (Cocoa).

È importante notare che Carbon è stato deprecato nel 2012 con il rilascio di Mountain Lion (OS X 10.8.x). Ricorda perché e quando Apple aggiunge / rimuove funzionalità è interamente una sua prerogativa.

Nel 2012, con il rilascio di OS X 10.8 Mountain Lion, la maggior parte delle API Carbon sono state considerate obsolete. Le API sono ancora accessibili agli sviluppatori e tutte le applicazioni Carbon verranno eseguite, ma le API non verranno più aggiornate.

Per quanto riguarda Shake in esecuzione su Terminal, questo è uno scenario completamente diverso - Cocoa e Carbon non entrano in gioco - è strettamente un'interfaccia testuale.

AGGIORNAMENTO: Dopo un po 'di ricerche, ho scoperto due cose:

  • Shake è stato retrocesso in "software incompatibile" e Finder non lo avvierà. Periodo.

  • C'è una soluzione alternativa (vedi sotto) per renderlo funzionale in El Capitan perché le librerie Carbon sono ancora incluse, sebbene deprecate. Nota: questo non è stato testato / confermato in Sierra / High Sierra. Poiché questo è considerato "Software incompatibile" da Apple, non esiste alcuna garanzia che la soluzione funzionerà completamente o per quanto tempo. YMMV.

Aggirare

  1. Fare clic con il tasto destro del mouse su Shake.App
  2. Vai a Mostra contenuto pacchetto .
  3. Vai a Contenuti -> MacOS -> agita (seleziona shakenon tshake);
  4. Fare doppio clic shake. Dovrebbe prima aprire una finestra del terminale e quindi Shake dovrebbe essere in esecuzione.
  5. Crea un alias (un collegamento) del file e posizionalo quando vuoi. Launchpad non sarà in grado di vederlo , sebbene sia possibile avere il collegamento / alias nella cartella Applicazioni.

Sono d'accordo con te ma ... Se installo Shake su Mac OS X 10.9 e quindi eseguo l'installazione di OS X 10.11 (installazione non pulita), Shake funziona bene tramite l'interfaccia utente e tramite Terminal in El Capitan. E non c'è un cerchio bianco barrato sull'icona di Shake. È abbastanza strano.

1
Quindi, stai installando Shake su un sistema con le librerie UI necessarie, quindi esegui l'aggiornamento ma quando installi su un sistema senza tali librerie non funziona? Con 10.8.x, il carbonio è stato considerato obsoleto, il che significa che è stato incluso ma non aggiornato. 2 versioni successive Apple ha ovviamente smesso di includere le librerie.
Allan,

Di nuovo d'accordo. Posso resuscitare Shake nell'interfaccia utente di El Capital? Intendo farlo lanciare facendo clic sulla sua icona?

Inizia con questo: apple.co/2tHY9qp Coco è letteralmente il livello più alto nel framework in cui gli strumenti della CLI operano nella parte inferiore del livello del sistema operativo Core.
Allan,

L'ho già letto Apparentemente stiamo parlando di cose diverse. Il punto è che se digito "shake" nel Terminale, visualizzerò la GUI di Apple Shake (non la Apple Shake nascosta controllata dalla riga di comando). Ottengo Apple Shake basato su Carbon API (non sul suo motore con interfaccia testuale).

5

Sono io che sto pensando ad alta voce, per così dire, ma una cosa che vale la pena provare è usare AppleScript o Automator per creare un'applicazione per fare ciò che ora stai facendo manualmente tramite Terminale. Una volta fatto ciò, l'aggiunta dell'applicazione alla cartella Applicazioni la renderà disponibile su Launchpad, Dock, ecc.

Non sono sicuro di quanto tu abbia familiarità con AppleScript o Automator, ma usando Automator come esempio il processo sarebbe sostanzialmente su questa linea:

  1. Avvia Automator (solitamente presente nella cartella Applicazioni)
  2. Vai a File> Nuovo
  3. Seleziona Applicazione e fai clic su Scegli.
  4. Sopra la seconda colonna (più sul lato sinistro) vedrai un campo di ricerca in cima a un lungo elenco
  5. Digita "Esegui" nel campo per filtrare l'elenco
  6. Una delle opzioni sarà Run Shell Script
  7. Fare doppio clic su questa opzione
  8. Ciò aggiungerà la finestra Esegui script shell sulla destra.
  9. Ora configura e inserisci lo script necessario per replicare ciò che stai già facendo
  10. Vai su File> Salva (o usa commandS) per salvarlo come applicazione

Ora dovresti essere in grado di fare doppio clic sull'applicazione che hai creato per avviare Shake. Puoi anche cambiare l'icona dell'applicazione come preferisci, aggiungerla al Dock, ecc. Sarà disponibile anche in Launchpad.

NOTA: - Non sono sicuro se ho ancora installato Shake su uno dei miei Mac, quindi non l'ho testato per assicurarmi che funzionerà con Shake in modo specifico, ma in teoria dovrebbe andare bene in base a ciò lo stai già facendo.


5

Funziona in macOS 10.13.5 High Sierra . Ho creato Info.pliste aggiunto queste righe ad esso:

<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, così come Cocoa API, è strettamente integrata con l'API Core Foundation di basso livello ( CF).

Ecco informazioni utili su Bundlesin macOS e iOS:

Guida alla programmazione dei pacchetti - Informazioni sui pacchetti

Guida alla programmazione del pacchetto - Strutture del pacchetto

Ora, facendo clic sull'icona di Shake sul Dock posso avviare Shake nella GUI di High Sierra.

inserisci qui la descrizione dell'immagine

Posso eseguirlo non solo da Launchpad ma anche tramite Terminale. Mi consente contemporaneamente di eseguire più istanze di Shake.

inserisci qui la descrizione dell'immagine


È fantastico! Sono contento che tu abbia trovato una soluzione che funziona per te. :) E grazie per essere tornato per condividerlo con la community. Sono sicuro che aiuterà anche gli altri lungo la strada!
Monomeeth

Non sono chiaro dalla risposta: cosa è stato esattamente cambiato nella tua info.plist rispetto all'originale? Mi piacerebbe sapere in modo specifico cosa l'ha risolto in modo che possa essere utilizzato per altre app!
Wowfunhappy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.