Xcode 4: Build Failed, No Issues

The app works fine in the simulator, builds and runs.

When I attach my device (iPhone 3GS running iOS 4.3) and target the iPhone, the result is "Build failed" with "No issues".

Looking at the build results window, everything is green, has a checkmark, including the Build failed notice.

Expanding the transcripts show no errors.

I cannot exclude the possibility of a signing or provisioning error, but it gave me those errors, I ironed them out, and now it's not giving me any errors or issues, just "Build failed; No issues"

  • In what ways can the build fail with no issues?
  • Is there a way I can watch the build output to see if I can find the reason it's failing with no issues?
  • Is there build output produced beyond the issues list?
  • I don't see on the build window where it attempts to load the app onto my device - is this output elsewhere?

I've been getting 'Build Failed' with no errors in the Issue navigator(only warnings). Report navigator, though, displayed errors correctly.


Are you using "Underscore" and "Space", etc. for Bundle identifier?

Are you using .m instead of .h in one of your imports? #import "Photo.h"


The first thing I'd try is to clean everything (menu Product / Clean) and the build it again. You might have already tried it.

You'll find (and you can watch during the build) the complete build output in the Log Navigator. That's the right most icon of the small icons just below the Run and Build buttons.

The build (and debug) log files are found in the directory /Users/you/Library/Developer/XCode/DerviedData/YourProject-abcdefg/Logs/Build (and ../Debug respectively).

I don't think there's any output for the installation of your app on the device.


Is there a space in your Target's Product Name?

I know that in earlier versions of Xcode this was no problem, but it seems that they broke something in Xcode 4 so it doesn't work any more (I suspect it's something to do with the DerivedData path nonsense). You can add a space to the name of your app as it appears on the Launchpad of your iDevice by setting the CFBundleDisplayName key in the Info.plist to something other than ${PRODUCT_NAME}.