Take the 2-minute tour ×

I got an .ipa file from a customer (without source code access). This app doesn't exist anymore in the app store. My customer now wants me to write this app again. To get an idea what this app was about I was trying to install the .ipa file on my developer device by going to Organzer > Devices and then selecting my device. With the Add to portal I added the file to the device.

However when starting the app on my device it rise up to open but disappears before reaching full screen size. There is no message posted.

QUESTION: I am trying to figure out if this is a bug of the app (there are no bug logs) or if it's not possible to do that? And if it is possible, how should I get the app to work?

EDIT: the console is saying:

SpringBoard[15] <Warning>: Unable to obtain a task name port right for pid 2582: (os/kern) failure 
Nov 25 13:25:16 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.dcomplex.NVRViewerMilestone[0xdb31]) Exited: Killed: 9 
Nov 25 13:25:16 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.dcomplex.NVRViewerMilestone[0xdb31]) Throttling respawn: Will start in 2147483647 seconds 
Nov 25 13:25:16 unknown SpringBoard[15] <Warning>: Application 'hawk-i' exited abnormally with signal 9: Killed: 9 
Nov 25 13:25:17 unknown kernel[0] <Debug>: AppleFairplayTextCrypterSession::fairplayOpen() failed, error -42004


After using the script mentioned in Denis Answer I was able to replace the existing signature with mine. Unfortunately I couldn't start the app and was getting the exact console message as described above except the last line differs with a different error number:



Denis was so kind and tried to solve my case also with the iResign tool from google, unfortunately again without success. In my case I start to believe there is no solution to run the app but for others the accepted answer (by Denis) might be the way to go.


share|improve this question
what does your device console say when you attempt to launch the app (i.e. when you connect it to your Macintosh and open the organizer in XCode)? –  Michael Dautermann Nov 25 '11 at 12:21
@michael added the console statements –  d.ennis Nov 25 '11 at 12:29
ewwwww. do those same five lines appear each time you attempt to open your app? Also, just to make sure, did you give your customer your device's UUID to add to his provisioning profile (assuming the potential customer hasn't given you the actual source of the project to build and install an app yourself yet). If you never gave him your device UUID, then that app simply isn't permitted to run on your particular device. –  Michael Dautermann Nov 25 '11 at 12:31
Yes it happens each time. No, I didn't give him my UUID. The customer himself doesn't get contact to the developer so he only has the downloaded app for his device. Is it however possible to add my UUID to the app? –  d.ennis Nov 25 '11 at 12:37
This portion AppleFairplayTextCrypterSession::fairplayOpen() failed, error -42004 consolidates that there is a problem with the provisioning profiles since FairPlay encryption is the DRM / Provisioning profile mechanism of Apple. –  Besi Nov 25 '11 at 12:56

3 Answers 3

up vote 4 down vote accepted

You can try to extract .app from the .ipa and resign it with the following bash shell file:

#! /bin/bash 
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform\

codesign -f -s "iPhone Developer: John Doe (XXXXXXXXXX)" $1.app

This requires you to have a developer certificate installed and provision profile installed, that will work with wildcard id;

Usage will be something like this

$>myresign.sh <your-app-filename>

Or this nice tool can be used directly for .ipa files. It will work for the cases, if you have development build, not the one sent to the iTunes Connect.

share|improve this answer
I am getting a iPhone Developer: Dennis Surname (XXXXXXXXXX.*): no identity found message. I extracted the .app, substituted my name and a bundle ID. Is that because I wasn't using a wild card id? –  d.ennis Nov 25 '11 at 14:09
does signing with your profile work well from the Xcode? –  Denis Nov 25 '11 at 14:12
also, try performing $>sudo myresign.sh <your-app-filename> –  Denis Nov 25 '11 at 14:17
and 'iPhone Developer: Dennis Surname (XXXXXXXXXX)' string must be an exact match to the certificate name in your keychain –  Denis Nov 25 '11 at 14:18
It worked. That it has to match the certificate name was the right hint ;) How can I now install the .app on the device? replacing the file and turning it into a .ipa again didn't work. getting a 'could not inspect the application package' –  d.ennis Nov 25 '11 at 14:37

If you never provided the UDID of your device to the customer, you won't have permission (or a proper provisioning file) to actually launch the app on your device.

You'll need to get the source code from the customer and build and install it onto your device. If the customer doesn't have the source code from the original developer and your customer can not get it, both of you are S.O.L.

share|improve this answer
;) Thx! Well this might be a different question but may you have a short answer: how are the apps downloaded (threw the app store) to one device are restricted to work only for that device? –  d.ennis Nov 25 '11 at 12:54
If you're downloading through the app store, there's a different provisioning profile involved and Apple does some black magic to permit your particular device (or any devices associated with your Apple ITMS id) to run that app. –  Michael Dautermann Nov 25 '11 at 12:58

It is somewhat surprising that you can even install the .ipa on your device. Which means that you are in the provisioning profile of that application.

So it looks like the app crashes when you launch it. You might find some hints in the device's logs which you can find in Organizer -> Your Device -> Device Logs.

It could be that the application is not compatible with your device and fails to start up. You might find a device which can still run the application but generally it's best to have the source code to run the application.

share|improve this answer
Unfortunately I can not see any device logs. What I was thinking of when you mentioned it was weird that I could install the app: Is it possible that the app is jailbreak? –  d.ennis Nov 25 '11 at 12:32
You Jailbreak the device rather than the app. Obviously I don't know the circumstances in your case but either your device is explicitly mentioned in the provisioning or the ipa is signed with a enterprise provisioning profile, so you could technically install it on any device. –  Besi Nov 25 '11 at 12:37

Your Answer


