Created — forked from subtleGradient/appify

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

appify — create the simplest possible Mac app from a shell script

View appify
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/usr/bin/env bash
# Create a new super simple mac app
# Platform: Mac OS X
# Author: Thomas Aylott <oblivious@subtlegradient.com>
 
APPNAME=${1:-Untitled}
 
mkdir -p "$APPNAME.app/Contents/MacOS"
cat > "$APPNAME.app/Contents/MacOS/$APPNAME" <<EOF
#!/usr/bin/osascript
say "Hello"
EOF
chmod +x "$APPNAME.app/Contents/MacOS/$APPNAME"
echo "$PWD/$APPNAME.app"

@mathiasbynens FTW!
Much better.

I tried to make it work using cp before but couldn't get it working for some strange reason. I forget the original issue I ran into.

Owner

Feel free to backport these changes into your original gist if you like! It’s still your script :) I’ll update my blog post accordingly.

Great script guys! Thanks!

Be sure to check out Appify UI also: https://github.com/subtleGradient/Appify-UI

I used this today to on a .sh script of mine. When launching the app it states: "You can't open the application...because PowerPC applications are no longer supported. I'm running Mountain Lion. My .sh script runs fine natively, it is small and just uses a couple curl lines to download some tar.gz files. Any ideas?

PacoH commented

OS X 10.8.5:
You can’t open the application “My App.app” because it is not supported on this type of Mac

same error message as PacoH for me, unfortunately!

Same problem, the end result seems to be a PowerPC app. I guess it's just a matter of changing one of the triggers (?) but which one… If somebody has an idea, it would be great!

I got around that PowerPC issue by ensuring that #!/bin/bash was at the top of my script ;)

Running on mac OSX 10.10.2
I had trouble with the powerpc error.
I had to add the #!/bin/bash line to my shell script as noted above.
I had to modify my plist to be correct as noted previously.
In particular I had to change CFBundleSignature from ???? to a 4 character string.
It then worked for me.

Can someone post a simple .plist file that does the following...

1) Allows App to be a drag + drop target.

2) Passes dropped files into script $* to allow files to be dropped on App.

I'll also look around + if I find a good example, post it here.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.