-
Star
(566)
You must be signed in to star a gist -
Fork
(111)
You must be signed in to fork a gist
-
-
Save mathiasbynens/674099 to your computer and use it in GitHub Desktop.
appify — create the simplest possible Mac app from a shell script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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" |
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>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
don't do
/Users/--------/Desktop/appify.sh: Permission denied
instead do
sh /Users/--------/Desktop/appify.sh