Xcode fails to get the task for process XXX. How do I solve this? (iPhone SDK 4.0)
I have the following error when I try to run a new project on my ipod:
Error launching remote program: failed to get the task for process 312.
The program being debugged is not being run.
I've read about Entitlements.plist, and I've tried to add the get-task-allow, but then it doesn't let me compile because of a code signing error. I only have a development provisioning profile, so it's not the same as the people who were trying to debug the distribution build (I'm also in the debug build, so that isn't a problem).
Old projects build and run fine on the ipod, just new projects.
I've tried restarting both xcode and my ipod, but it doesn't help.
I have no more ideas on how to build/run new projects on xcode, so any help is much appreciated!
Oh, and I'm using an iPod 3G with iOS 4.0.1. Xcode is 3.2.3 (64-bit).
It turns out that using a different provisioning profile (one with a wildcard rather than one without) solved this issue.
The key point is to use a Developer profile rather than a Distribution profile.
Check that you're doing signing using a development provisioning profile, not a distribution one.
This error happens when you have set Distribution Provisioning profile in code signing. Change it to Developer Provisioning Profile, then it will work. Worked for me for Xcode SDK 4.5.
There is also a case that your error would happen.
If an app with same Bundle Identifier is launched at background ( probably an App Store version ), Xcode debugger will not know which App it should attach to. To solve it, remove/uninstall the App Store version, and click Run
in Xcode again.
The same story can apply if you once build the app with a bundle id then you changed the project bundle id and still kept both app versions. make sure you remove the old one.
If your certificates are not quite right or have become not quite right, this problem can start to happen and you can go round and round playing with provision and entitlement files to no effect. (In nearly all cases, you don't need an entitlement file.)
I'm talking here about debugging on a tethered device in "debug" mode, not any sort of "release" mode.
Here's how I finally determined this was the problem and fixed it:
1) Try to create the simplest Xcode project possible and in Target...General set it up for your "Team". (If you find this impossible to do, that already is a sign of this sort of problem.)
2) Tether your device and try to run on it. Normally, this would go smoothly, but if the opening screen appears on your device for a second or two and then the app crashes and Xcode says it can not attach to some positive task id, then you may have the sort of problem I had.
3) So I then went to another Mac with Xcode and did the same thing, letting Xcode 5 automatically get the needed credentials. (I'm using a "wild card" * app id for all of this.) In my case, much to my surprise the simple app I created on the new Mac ran on the tethered device just fine keeping up its opening screen indefinitely. What a relief. So I then went to keychain access on the new machine, exported all of the relevant keys into one file and then exported the relevant certificated to a .p12 file. I also made a copy of the new working project to take back to the first Mac.
4) Back at the first Mac using the app for the second Mac, it had trouble with the Team ID when I looked at the Target...General screen. Your symptoms might be different, but the point is I couldn't rebuild the app from the second Mac on the first Mac.
5) So I then opened up Keychain Access (possibly not necessary) and double-clicked on the files I brought over, first the one with the keys and then the one with the certificate, providing the p12 password when requested. (Some of this may not actually be necessary, but I'm not sure which and I am describing what worked for me.)
6) I did step 4 again and this time it worked fine! I then found that the other programs that were giving me the "failed to get task" problem now worked fine, too. I just wish I could get back all the time I lost before I tried the process described here.
Conclusion, something was wrong or had become wrong with the certificates or the keys on the first Mac. It was subtle enough that I could still do builds, make ad hoc releases, etc. but I could not run on a tethered device. Though I don't think it is a factor, I was using a corporate developer account and this Mac was set up to do development for several other developer accounts (and these did not display the problem).