Advertisement

DevJuice: Embed shell commands in an .app wrapper and other dev command line tricks

The other day, I was chatting with some Mac devs. One of them asked how to set up an App wrapper to run a custom shell script from the desktop.

I use a script called appify created by Thomas Aylott and Mathias Bynens. It does little more than create the app bundle folder structure (top level.app/Contents/MacOS), copy the shell script, and then set its execute flag.

As Aylott and Bynens discuss on a related blog post and its comments, other solutions like Wilfredo Sanchez's DropScript. (Sanchez also offers a sweet dmg building script at the same URL.)

While I'm on the topic of my favorite command line solutions, I'd be remiss if I didn't mention lns, the best way to create symbolic links. It's perfect for drilling into Xcode folders.

I always keep a link around to the top level of the latest SDK:

  • lrwxr-xr-x 1 ericasadun staff 106 Jul 8 18:58 sdk@ -> /Applications/Xcode[REDACTED]-DP3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS[REDACTED].sdk

and a second link to bring me right to UIKit headers.

  • lrwxr-xr-x 1 ericasadun staff 71 Jul 8 18:58 headers@ -> /Users/ericasadun/sdk/System/Library/Frameworks/UIKit.framework/Headers

By staging these as two items, I never have to update my headers symbolic link. I just modify the "sdk" one as new betas roll out.

Another great dev symbolic link to have on hand takes you right to the simulator folder, so you can preload photos, access files, and so forth:

  • lrwxr-xr-x 1 ericasadun staff 62 Nov 18 2012 sim@ -> /Users/ericasadun/Library/Application Support/iPhone Simulator

Got some favorite dev-centric command line utilities? Drop a note in the comments.