Xcode will run app on simulator but not on device

2019-01-21 16:02发布

问题:

I receive the following error when trying to run the app on my device.

error: failed to launch '/Users/michael/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/Word Processor.app/Word Processor' -- No such file or directory (/Users/michael/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/Word Processor.app/Word Processor)

The app runs fine in the simulator. When I try to debug on the device, it appears to copy the app (I can see the icon), but then stalls with the above message. Xcode says it is running the app on my iPod, but nothing is happening on my iPod.

When I click on the app, the app appears to launch, but seems to be missing resources. Other projects of mine work properly. What setting do I need to change to make this work properly.? Looking at the error message, it seems to be looking in my mac for the app. But this doesn't make sense since I am trying to run it on my 4th gen iPod touch. I am using Xcode 4.3.1 and iOS 5.1

回答1:

With Mountain Lion and the latest version of Xcode (4.4.4F250), none of the suggestions in this thread worked directly (clean, clean project, remove derived data folder, etc). This sequence did. From DhilipSiva:

  1. Disconnect your device
  2. Delete the app from your device
  3. Quit Xcode (Don't just simply close the window, quit it)
  4. Delete derived data folder rm -fr ~/Library/Developer/Xcode/DerivedData (console)
  5. Start Xcode,connect device & run the project


回答2:

This is a recurring problem that many developers are having with the current version of Xcode. The temporary workaround has been consistently deleting the DerivedData folder.

You can add doing it to a build script or even make it a cron job:

rm -rf ~/Library/Developer/Xcode/DerivedData

Sad, but true.



回答3:

I solve this by going to Targets-> Info -> Required Device capabilities and delete the option with armv7.

Hope this helps!



回答4:

For me restarting of Xcode, cleaning DerivedData and restaring device wasn't enough in most cases, until I had figured out that iTunes was also running, and after quitting iTunes everything worked fine!

So my steps now are simple:

1. Quit Xcode.
2. If iTunes is running, quit iTunes.
3. Reopen project.

No need to remove app from the device, clean project or restart/disconnect device. I think that's because Xcode and iTunes use some common libraries (as you know, Xcode Installer always asks to quit iTunes on installing iOS SDK).



回答5:

I also had this problem after changing from a lower XCode and iOS version to the current XCode and iOS version.

I fixed this problem by changing th iOS Depolyment Target to a lower version, since my Device is not updated to the latest iOS yet. You can do this by clicking the project inside the Info tab.



回答6:

Have you looked at the Developer Certs and Distribution Certs if you have. When running in debug mode from Xcode your will need your app assigned with the developer cert and not the distribution cert. The distribution certs do not allow for debugging.



回答7:

This error will manifest whenever the device capabilities described in the Info.plist do not match those of the device.

In my case, I was requesting GPS support and location-services support and trying to test on an iPod touch.



回答8:

I struggled with this problem for 2 days and went through all the posts, tried all the options including, restarting Xcode, device, deleting DerivedData folder etc.

Finally, the problem was with the Info.plist file. In my case, I had improper icon paths in the Info.plist file. I suggest you to archive the application and then validate it to get the exact problem in you case. Only when I did that, I was able to find the issue.



回答9:

Removed armv6 support and it started working again



回答10:

I solved this problem many times with DhilipSiva's solution. However, it may not work sometimes. If that is the case, consider deleting and re-adding the target.



回答11:

I stumbled upon this same problem on several diferent projects, researched a lot on forums and even here on Stack overflow. A lot of solutions were given, and some people seemed to get them working, but none of them worked for me. So we tried some pretty obvious course of action, which for some reason we didn't tought about before: I've done a CHMOD -R 777 on the EXACT path indicated by the error message (I copied it directly).

Worked like a charm, 100% times!

Hope it helps, guys!



回答12:

As Chronos mentiod, the device capabilities might be the reason. In addition I would say that in my case it was all about the UIRequiresPersistentWiFi key, which (for some unclear reason) didn't let me to install my app on an iPhone4. Hope this helps ones who tried everything else and haven't fixed the problem yet.



回答13:

I solve this by going to Targets-> Info -> Required Device capabilities and check id at 0 index if armv7 not in 0 index then remove other things and armv7 set on 0 index and clean app connect device and run.

Hope this helps fine!



回答14:

I did these steps:

  1. Delete derived data: rm -rf ~/Library/Developer/Xcode/DerivedData
  2. Deep cleaned the project: Shift Key + Option Key + Command Key + letter K key
  3. Quit the project
  4. Quit XCode
  5. Deleted the app from my device

When I reopened the Xcode, launched the project, and then launched the app it successively ran on my device