Xcode 4 says “finished running ” on the target

2019-01-07 02:23发布

问题:

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.

回答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:



回答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.



回答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.



回答4:

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!



回答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.



回答6:

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.



回答7:

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.



回答8:

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.



回答9:

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.



回答10:

adding armv6 architecture fixed this for me.



回答11:

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



回答12:

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.



回答13:

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



回答14:

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.



回答15:

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!



回答16:

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.



回答17:

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."



回答18:

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



回答19:

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.



回答20:

My Info.plist had it's target membership set to my build target. Removing it from the target membership solved the problem.



回答21:

I was using an alternate name for Info.plist but had not correctly set the Info.plist File build setting on my target. I discovered this by looking at the Application Bundle and seeing that it did not contain an Info.plist.



回答22:

Make sure that the deployment target version is <= the iOS version on your device. This is how i solved this problem.



回答23:

I was having the same problem for about 45 minutes now. Cleaning didn't help, re-creating the project didn't help, the arm version didn't help. I had some "Could not sync to iTunes" messages open that I didn't see before. Clicking OK on those seemed to have fixed the issue :(



回答24:

XCode build, run and finished but the app failed to be deployed and was not even copied to the device.

In fact, there should be something in the XCode project that is broken. The best move is to build a new project from scratch. Don't forget to add armv6 support as stated in a previous post.

It works well for me!