Skip to content

@mathiasbynens /appify forked from subtleGradient/appify
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
appify — create the simplest possible Mac app from a shell script
#!/usr/bin/env bash
#
# url : https://gist.github.com/672684
# version : 2.0.1
# name : appify
# description : Create the simplest possible mac app from a shell script.
# usage : cat my-script.sh | appify MyApp
# platform : Mac OS X
# author : Thomas Aylott <oblivious@subtlegradient.com>
APPNAME=${1:-Untitled}
if [[ -a "$APPNAME.app" ]]; then
echo "App already exists :'(" >&2
echo "$PWD/$APPNAME.app"
exit 1
fi
mkdir -p "$APPNAME.app/Contents/MacOS"
touch "$APPNAME.app/Contents/MacOS/$APPNAME"
chmod +x "$APPNAME.app/Contents/MacOS/$APPNAME"
while read SCRIPT_SOURCE_LINE; do
echo "$SCRIPT_SOURCE_LINE" >> "$APPNAME.app/Contents/MacOS/$APPNAME"
done
echo "$PWD/$APPNAME.app"
@subtleGradient

@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.

@mathiasbynens

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.

@andrewcase

Great script guys! Thanks!

@subtleGradient

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

@jsbieber

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

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

@jayfresh

same error message as PacoH for me, unfortunately!

@bhanquier

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!

@jrmedd

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

@gregd49

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.

@davidfavor

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.

@andreif

I made it to work on OS X 10.10 by adding file $APPNAME.app/Contents/Info.plist containing <plist><dict></dict></plist>

@bluejamesbond

Neat idea. However, what directory does the script run in so that I can use relative paths?

@CosmicWebServices

-bash: /Users/--------/Desktop/appify.sh: Permission denied

@nueh

@CosmicWebServices
chmod +x /Users/--------/Desktop/appify.sh

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.