Tuesday, May 29, 2012

XCode 4 says "finished running <my app>' on the targeted device &mdash; Nothing happens


The app neither installs nor runs on my device. All provisioning profiles are up to date. I've already tried deleting and re-installing them.



The status bar shows that xcode is building my project, then it says running my project on , then it says "finished running ." Throughout this entire period, the iPod screen stays black. The iPod is being detected in the Organizer and I don't see anything wrong with its configuration. Everything was working perfectly just a couple days ago with Xcode 3.



It doesn't work on the simulator, but it may be important to note that in the simulator it appears to get stuck on "Attaching to " and the simulator refuses to start.


Source: Tips4all

20 comments:

  1. For those reading this in regards to Xcode 4.2, and attempting to run on an earlier device (e.g. iPhone 3G, 2G, iPod 1st gen, etc) I have another solution. New projects created in Xcode 4.2 by default specify 'armv7' in the 'Required Device Capabilities'. You'll need to remove this if wanting to support devices that run armv6 (e.g. the iPhone 3G).



    Delete armv7 from the 'Required device capabilities' in yourProjectName-Info.plist

    You may also need to change the build settings to compile with armv6 instead of armv7.

    This is the default:



    Double click on 'Standard (armv7)' to add another, then click the '+' in the popup, and type in 'armv6':



    Click done and it should look like this:

    ReplyDelete
  2. I just had this problem, but for me it was because I only specified armv7 in my architectures, but the 3G is armv6. Make sure you have both.

    ReplyDelete
  3. I had this issue, and it turns out that XCode was defaulting the Deployment Target to 4.3, whereas my phone is 4.2.1. Changing the Deployment Target to 4.0 seemed resolve it.

    ReplyDelete
  4. I just had this too. I had added a UIRequiredDeviceCapabilities section to info.plist, requiring gamekit, and the app would not get copied onto an iPhone 3G running iOS 4.2. Removed the required capability, all is well.

    ReplyDelete
  5. Same problem here with the app not running on the device. Deleting the app from the device didn't help. Project -> Clean then Project -> Run again didn't help either. Turned out that just Quitting and restarting Xcode 4 solved it.

    ReplyDelete
  6. After you add "armv6" to the Project and Targets' architectures, make sure you don't have "armv7" in your "Required device capabilities" section of your info.plist. If so just remove it and it should work!

    ReplyDelete
  7. Mine case: I mistakenly set the:
    Required device capabilities -> accelerometer to NO (in Info.plist).
    Just have to set it back to YES

    Also: Make sure that the Required device capabilities is of the proper type: i.e. Boolean or String. The wrong type will invariably make the test fail, and the app not load.

    ReplyDelete
  8. For those still floundering, another thing that I had to do was make the name of my target's product the same for Debug and Release configurations. It had been "running" the Debug version, which I was not building.

    ReplyDelete
  9. adding armv6 architecture fixed this for me.

    ReplyDelete
  10. Try deleting the app on the device (just like your usual app uninstall) and running it from Xcode again.
    Helped me with the same problem, apart from the simulator not working.

    ReplyDelete
  11. Happens to me sometimes as well. Doing clean (Product menu -> Clean) and run (Project menu -> Run) always fixes it.

    ReplyDelete
  12. Build settings were different for project and targets.
    I just press suppr on Build Products Path and Intermediate Build Files Path in both sections and it solved my problem.

    ReplyDelete
  13. I had the same problem with my game project using Cocos2D. "Hello world" from template worked fine, my project worked fine in simulator, but running failed on device with message: "Finished running".

    I've replaced Info.plist in my project by the initial one from template and that worked for me!

    ReplyDelete
  14. I had the same problem: migrated a project from xcode3 to xcode4, and after building the app, xcode did not want to install and start the App on my phone.

    My solution (that worked for me) is:


    Edit your scheme (which is meant to be run)
    In the list on the left, select 'Run xyz.app'
    Under the info tab, at Executable I had '.app' selected. Change this by browsing to your build directory and choosing your app.


    Worked for me, and from now on I can use:
    'Product -> Perform Action -> Run without building', for running the latest build. This is faster then simply pressing Run, as no build actions will be taken.

    ReplyDelete
  15. I experienced this twice with two different apps when moving to the most recent Xcode version. The first time, what worked was compiling the app with the GCC LLVM compiler. The second time, what worked was adding back in the armv6 architecture as a supported architecture since it had been removed when Xcode automatically updated the project.

    ReplyDelete
  16. I solved this by changing "accelerometer" from "NO" to "YES" in my Info.plist.

    Apple's Information Property List Key Reference says that you can remove the "accelerometer" setting entirely if "your application detects only device orientation changes."

    ReplyDelete
  17. Just restart the device. Do an clean project. Delete the app from the device and Rebuild.

    ReplyDelete
  18. My solution was to add UIInterfaceOrientationPortrait to the UISupportedInterfaceOrientations array in Info.plist, even though my app does not support portrait.

    ReplyDelete
  19. I encountered this problem. I was using Storyboards and the phone I was trying to install my app on did not have the 5.1 update.

    ReplyDelete
  20. A field called "Application requires iPhone environment" had made it's way into my plist somehow. I removed it and voila! It ran on my iPod.

    ReplyDelete