xcode cannot find the software image to install this version

20,544

Solution 1

The message "xcode cannot find the software image to install this version" seen in the organiser window... This is just a notification rather than a problematic error.

If you want to eliminate this message anyway, I found I was able to do this by running restore within iTunes. Part of that process involves downloading some stuff, which I presume is the 'software image'.

But, as explained in Technical Q&A QA1569 "This message does not prevent you from using the device for development purposes. The only effect is the inability to reinstall the OS currently on the device using Xcode." ...and that has been my experience. Back in the main Xcode window you're still able to click 'run' and send the app to the device to run.

...and it will run assuming everything else is set-up OK, but there are various other gotchas related to Xcode 4.2 and v4 devices:

  • As mentioned by Overbeeke you should ensure the 'deployment target' of your project is set down to the desired version (the minimum version of the devices you want to support) Additionally I would point out that the 'SDK version' should normally remain set to the latest (it's whatever SDK Xcode on your machine is using)

  • As mentioned by Kenneth Lam, in the new Xcode you need to frig around with "armv6/armv7" settings if you want to support earlier models of iPhone. Follow these instructions to add the right "Architecture" armv6 setting. Additionally I would point out (as per this answer further down) that there is a setting called "Required device capabilities" from which you need to remove 'armv7'. This is in your app's plist file.

I'm saying all this like I'm an expert, but I still can't get it to work on a v3.1.3 device :-)

Solution 2

I think Xcode 4 requires that you are running the latest iOS to use that feature, but you don't need it to install apps on a device. I have run my apps on an iPod Touch 1G (which can't be upgraded to iOS 4.3) with the same iOS as you and it worked.

Have you added your device to the provisioning profile?

What I did is opened the organizer, right click on the device on the left pane and select "Add device to provisioning profile" where you will be asked for your Apple ID (within xcode) and it will add the device to your profile without you leaving xcode, much simpler than using the online portal.

Solution 3

Xcode 4.2 only builds armv7 targets by default. (Iphone 3G running IOS 4.2.1 is armv6) Add armv6 build targets by following these excellent instructions from Nick "Warning: iPhone apps should include an armv6 architecture" even with build config set

Share:
20,544
Overbeeke
Author by

Overbeeke

Updated on July 21, 2022

Comments

  • Overbeeke
    Overbeeke almost 2 years

    I'm new to xCode development and struggling my way through the provisioning system trying to run a Hello World app on a real device. I went through al steps and everything seems fine but one thing:

    When i click my device (Iphone 3G running IOS 4.2.1) in the xCode organizer the following message is displayed under Software Version: Xcode cannot find the software image to install this version...

    Also the provisioning profiles show no status in the organizer (both in the library and on the device). On the provisioning portal they have the status active.

    I hope someone can help me, thanks!!

    ps. i am working with xcode 4

    Update: OK, I've found the solution -> set deployment target to 4.2 in info tab: https://discussions.apple.com/thread/2780316?start=0&tstar

  • Overbeeke
    Overbeeke about 13 years
    I tried "Add device to provisioning profile" and it worked allright, but the message is still there. When i try tu run my project it gives an error: Xcode cannot run using the selected device - No provisioned iOS devices are available. Connect an iOS device or choose an iOS simulator as the destination.
  • Overbeeke
    Overbeeke about 13 years
    OK, I've found the solution -> set deployment target to 4.2 in info tab: discussions.apple.com/thread/2780316?start=0&tstart=0