Ho riprodotto questo errore su OS X El Capitan versione 10.11.6 e trovato una soluzione:
Errore:
You can't open the application "Open_todo_in_vim" because PowerPC applications are no longer supported
Immagine:
Comeriprodurrel'errore:
Istruzionidiriproduzionecompletetrovatequi: link
Jist:
Salva come appify.sh
#!/usr/bin/env bash
APPNAME=${2:-$(basename "${1}" '.sh')};
DIR="${APPNAME}.app/Contents/MacOS";
if [ -a "${APPNAME}.app" ]; then
echo "${PWD}/${APPNAME}.app already exists :(";
exit 1;
fi;
mkdir -p "${DIR}";
cp "${1}" "${DIR}/${APPNAME}";
chmod +x "${DIR}/${APPNAME}";
echo "${PWD}/$APPNAME.app";
Salvalo come /usr/local/bin/appify.sh, che richiede i privilegi di root per fornirgli le autorizzazioni eseguibili e quindi eseguirlo in questo modo:
$ appify your-shell-script.sh "Your App Name"
Fare doppio clic su "Nome dell'app".
Osserva l'errore mostrato sopra.
Perché si verifica questo fastidioso errore?
È una combinazione di molte ragioni:
-
Sicurezza: gli sviluppatori di Apple stanno combattendo il crimine informatico con script in background che sostituiscono gli elementi ancorati. I blocchi stradali fanno sì che i virus di successo di un tempo colpiscano un muro di mattoni. Questo è uno di quei muri.
-
Denaro: gli sviluppatori di Apple vogliono che tu usi le loro applicazioni, non le applicazioni che hai trovato su Internet perché ogni app che utilizzi è un potenziale vettore di attacco da parte di sviluppatori senza scrupoli in tutto il mondo.
-
Proteggere gli utenti da soli: gli sviluppatori Apple vogliono solo che gli utenti esperti creino oggetti ancorati, non vuoi che i principianti capiscano "Ehi! Chiunque può trascinare some_low_level_guts_script.sh
sul dock OSX e risolve il mio problema!" impedisce questo per la stessa ragione per cui i genitori tengono la candeggina sotto il lavandino dietro le porte chiuse quando i bambini sono in giro.
Hacky Workaround per poter eseguire il tuo script senza l'errore dell'applicazione PowerPC:
Ho trovato la risposta che spiega come eseguire Shell Scripts dal Dock di OS X qui: link
Soluzione di Jist of Hacky
- Crea lo script di shell
whatever.sh
- Rendi eseguibile lo script della shell.
- Rinomina il tuo what.sh per avere un suffisso
.app
: whatever.sh.app
- Trascina
whatever.sh.app
sul dock OSX.
- Rinomina lo script in
whatever.sh
.
- Fai clic con il pulsante destro del mouse sul Finder e fai clic sull'opzione "Ottieni informazioni".
- Nella parte inferiore della finestra, imposta lo script della shell da aprire con il terminale.
E l'errore citato in cima non si verifica più. Facendo doppio clic sul file sul dock OSX viene eseguito lo script della shell come previsto senza errori.