views:

183

answers:

2

I am getting the above error message randomly (so far as I can tell) on iPhone projects. Occasionally it will go away upon either:

  • Clean
  • Restart XCode
  • Reboot
  • Reinstall XCode

But sometimes it won't. When it won't the only solution I have found is to take all the source material, import it into a new project, and then redo all the connections in IB. Then I'm good until it strikes again.

Anybody have any suggestions?

[update 20091030]
I have tried building both debug and release versions, both full and lite versions. I've also tried switching the debug symbols from DWARF with external dSYM file to DWARF and to stabs. Clean builds in all formats make no differences.

Permission repairs change nothing.

Setting up a new user has no effect. Same error on the builds.

Thanks for the suggestions!

[Update 20091031]
Here's an easier and (apparently) reliable workaround. It hinges upon the discovery that the problem is linked to a target not a project

  1. In the same project file, create a new target
  2. Option-Drag (copy) all the files from the BAD target 'Copy Bundle Resources' folder to the NEW target 'Copy Bundle Resources' folder
  3. Repeat (2) with 'Compile Sources' and 'Link Binary With Libraries'
  4. Duplicate the Info.plist file for the BAD target and name it correctly for the NEW target.
  5. Build the NEW target!

[Update 20100222]
Apparently an IDE bug, now apparently fixed, although Apple does not allow direct access to the original bug of a duplicate. I can no longer reproduce this behaviour, so hopefully it is dead, dead, dead.

A: 

I am getting the same thing. I am on SDK 3.1.2. I did all of the same as you have done, including rebuilding in a new project. Things were going fine and I suddenly got the error again. I may try doing a distribution build, tho and see what happens -- it will make testing suck tho.

SpencerLucas
A: 

Troubleshooting steps:

(1) dsymutil deals with debug information so you should probably start with the debug build. Once the problem starts can you run the release build?

(2) Create a new users and work from there to see if the problem follows. If not the problem is most likely a corrupted file in your user's directory.

(3) In my experience most linker problems are caused a permission problem somewhere. (We have to pay for security.) I would repair permissions and see if the problem goes away.

(4) In the extreme you can uninstall the dev tools from the command line:

sudo /Developer/Library/uninstall-devtools --mode=all

However, this won't help if the problem is in your user's directory. In that case, you might need to work under a new user or spend a lot of time tracking down every dev related file in the user directory.

TechZen