views:

337

answers:

1

Device:

Version : 3.1

Build: 3511

Device: iPhone

OS: iPhone OS 4.0

xCode 3.2.2 (Old)

xCode 3.2.3 (New; For iPhone 4.0 Beta)

Background:

As you can see I installed 4.0 on my iPhone as I read on this forum it's really hard to near impossible to downgrade back to 3.1.3, but it's my only device I have and use for development. When I try to continue to develop and build with the old xCode it tells me that "No provisioned iPhone OS device is connected". When I select Simulator it does compile and build, however when I spread this file it does not work on the devices of my testers, they get a Signed error.

When I run the new xCode, it does compile and build on the Device and when I spread this file, it does work on the devices of my testers (which are running the current official version 3.1.3).

Questions:

  1. Why is there a difference between building for Simulator and Device? A simulator build never seem to work on the devices of my testers because of signing issues and the build for device does work.

  2. Currently it seems the old xCode became useless, however I read that you may not use the Beta xCode to build your application for release. So knowing the above how am I able to pull this off with my current setup due the fact the old xCode won't let me build properly.

+2  A: 
  1. The Simulator builds link against a different set of libraries, and are built for the Mac (x86). In a way, you can think of it as a Mac application. These builds will not run on an iPhone, because apps need to be built for the ARM architecture to run on an iPhone.

  2. Apple explicitly states that beta SDKs are not to be used for release. Furthermore, they warn you not to install beta OSes on devices unless they are dedicated to beta OS development.

However, you can still distribute Ad Hoc builds without a device. When you see the "No provisioned iPhone OS device is connected" error, I believe a build is still produced. To verify this, you can install it yourself using iTunes instead of letting XCode install it.

Colin Gislason
Thanks for your answer.
Mark