-
-
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" |
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.
On an ARM64 Mac, it kept prompting me to install Rosetta; adding the LSArchitecturePriority
to the /Contents/Info.plist
seems to work (although this is cached somehow, so I had to change the CFBundleIdentifier
to get Rosetta to check again):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>run</string>
<key>CFBundleIdentifier</key>
<string>com.testing</string>
<key>LSArchitecturePriority</key>
<array>
<string>arm64</string>
</array>
<key>LSRequiresNativeExecution</key>
<true/>
</dict>
</plist>
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.