Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

JesseW6889

macrumors 6502
Original poster
Dec 12, 2010
317
0
I've got some programming background but don't quite know my way around automator. I am a iOS application developer, and I test my apps on my jailbroken iPhone, but they need to be code signed first, which consists of running a command in terminal to the location of the .app file, which is kind of a pain in the butt, but this is my routine now...

1. Copy and paste this script into terminal:
Code:
codesign -fs "Cydia Developer" /path/appname.app/appname

2. Replace the '/path/appname.app/appname' with the path and name of app
Code:
codesign -fs "Cydia Developer" '/Users/jessew/Desktop/Switch Views.app/Switch Views'

3. Execute

How would I automate this, by say, dragging and dropping the file or (preferably) the folder and have automator copy the location and append that to the 'codesign -fs "Cydia Developer"' code. It seems like it should be pretty easy, but I don't know how to do it!

Any help would be MUCH appreciated, its a pain in the butt to do EVERY time I want to try an app on my phone... thanks!
 
Since you already know how to write shell scripts (or so it seems), you can simply wrap a shell script into a drag-n-drop wrapper, like Platypus. You have to put a little code at the head of the script, to accept the dropped items as normal command-line parameters, but after that it's just like a normal shell script.

Here's an example I use:
Code:
#!/bin/bash

#printenv | sort

## Under Platypus, $1 is path to app-bundle.
## MUST NOT process that.
## Relies on env-var APP_BUNDLER being set to "Platypus*"
APP_DIR="$PWD"

if [[ "${APP_BUNDLER:0:8}" = "Platypus" ]]
then
  APP_DIR="$1/.."
  shift
  echo ".. Platypus at: $APP_DIR"
fi



# This script strips all ".DS_Store" files from a subtree.
# This is most often useful on app-bundles.

# echo "$@"

for item in "$@"
do
  if [ -d "$item" ]
  then
    echo "Directory: " "$item"
    find "$item" -name ".DS_Store" -print -delete
  fi

done
The original script I developed starts at the "This script strips all ..." comment. The preface is boilerplate I use in several Platypusified scripts, for detecting that they're running under Platypus. If it's not obvious, I have the APP_BUNDLER env-var set under Platypus, but NOT set in my normal Terminal shell (unless I'm testing it in an environment like Platypus).
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.