TUAW’sitting devsugar course helps introduce developers to tools and tricks that they might not yet be familiar with. Today’s tip centers on signing already-compiled and already-signed applications by a new custom signature.
A while in the rear, I posted about a method to sign already-compiled applications with your special credentials in order to more valuable put up with developer-to-developer distribution. By re-signing an application, it allows you to induct it on any of the devices you have registered to your description at Apple on the outside of having to go through the stir and bother of normal ad-hoc dole. In addition, it makes it easier to unfold applications on a contractor’session machines, to ship them to a client, and then have them signed and shipped to App Store using the dependant’sitting identity.
A basic command-line explication is in the manner that follows. It calls codesign (form in a mould in /usr/bin) to sign the application, using the default keychain item that matches “iPhone Developer”. It’session a handy script, especially for easy beta distributions.
#! /box/bash
send out CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
codesign -f -s “iPhone Developer” $1
There are, however, several problems through this approach. First, it assumes you only want to sign by increase (typically “Debug build”) credentials. That’s not going to work if you need to re-sign for assignment. (Solution? Change iPhone Developer to iPhone Distribution). Second, it assumes you single have one developer or arrangement outline in your keychain. (Solution? Change iPhone Developer, with respect to example, to iPhone Developer: Company Name to exactly match just one keychain entry.) Third, it assumes the character doing the re-signing knows how to use a command line. For that, the solution is a trivial other complicated.
Recently, this topic came up on a developer e-mail think proper that I moderate: how do you make it easier for a non-technical dependant to re-sign an application, normally in spite of distribution. As a solution, I put from retirement the proposal that some could embed the above shell script behavior into any AppleScript droplet. After consulting with a few colleagues, and gathering their requirements, I decided to give the project a try. I built an AppleScript appeal that signs at all application dropped onto it.
You have power to find a working copy of the application at my website. App Signer iterates through any apps dropped onto it, checks to ensure whether each file (or bundle, really) ends with each “.app” extension, and then attempts to sign those files using /usr/crib/codesign.
Users can choose to sign from one side Developer credentials, Distribution testimonials, or select Other to unclosed a prompt and enter text for keychain disambiguation. (See the shelter shot at the top of this post in quest of an example of the disambiguation dialog.) The application displays results for reaped ground application, one at a time.
Please diplomatic communication the following caveats:
RSS feed for comments on this post · TrackBack URI
Leave a reply