-
-
Save mathiasbynens/674099 to your computer and use it in GitHub Desktop.
#!/bin/bash | |
if [ "$1" = "-h" -o "$1" = "--help" -o -z "$1" ]; then cat <<EOF | |
appify v3.0.1 for Mac OS X - http://mths.be/appify | |
Creates the simplest possible Mac app from a shell script. | |
Appify takes a shell script as its first argument: | |
`basename "$0"` my-script.sh | |
Note that you cannot rename appified apps. If you want to give your app | |
a custom name, use the second argument: | |
`basename "$0"` my-script.sh "My App" | |
Copyright (c) Thomas Aylott <http://subtlegradient.com/> | |
Modified by Mathias Bynens <http://mathiasbynens.be/> | |
EOF | |
exit; fi | |
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" |
When you're troubleshooting problems, it might look like changes to the shebang line or such things could do the trick, but they do not. The problem is that macOS caches app information which might result in things not working even after you modified the bundle. If that is the case, just run "touch" on your application's bundle. That will make macOS re-read your Info.plist.
Adding plist
and make sure that schell scripts and plist
values have the same name as the app made it work fine.
You can grab out of my frameworks and just edit the script continained.
https://github.com/thedzy/Run-script-as-an-Applicaiton
How to add icon to this mac app generated?
You can grab out of my frameworks and just edit the script continained.
https://github.com/thedzy/Run-script-as-an-Applicaiton
Thank you for this. Much appreciated.
don't do /Users/--------/Desktop/appify.sh: Permission denied
instead do sh /Users/--------/Desktop/appify.sh
Hi, is there an option to run the app as hidden?
This is the only "appify" script that is working on Catalina. Thanks, friend. Do you want to fork Conky-Mac with me. I have great configs but really haven't done serious code since the 90's in LA.
Thanks so much for this!
I tried the Automater way of doing it, but it wasn't ideal. After removing the parameter variable from my command (
"$@"
), it worked fine...the applified app wouldn't launch with it there.