views:

2830

answers:

9

I updated my iPhone to the new OS 4.0 and went to build my iPhone app and everything built ok, but the message I got at the end was "No provisioned iPhone OS device is connected". Looking at the Xcode organiser, it shows my connected device with an amber icon next to it, and all my provisioning profiles show up as "Installed" but also with an amber icon.

Is there something I need to do to make the existing provisioning profiles work since updating to OS 4.0?

I have XCode 3.1.3, and 10.5.8 OS. I can not install XCode 3.2.3, because for that I would need 10.6.2 OS which I do not have.

So, how do I continue developing and debugging as I used to before I said "yes" to the update dialog on my iPhone, without buying a new OS or new iPhone?

Thank you for your help.

EDIT1: I do not want to develop for iOS 4.0.

+2  A: 

XCode 3.2.3 is required to develop iOS 4 apps.

ohho
I do not want to develop for iOS 4.0.
Bojan Milankovic
@Bojan - all new iPhones are being sold with iOS 4.0 and I would expect that most people will upgrade their phones (if only inadvertently, like you did) so you're going to have to upgrade at some point.
ChrisF
+2  A: 

If you want to develop for iOS 4, you should be running Mac OS 10.6 (Snow Leopard), and you have to install the iOS 4 SDK.

Philippe Leybaert
I do not want to develop for iOS 4.0.
Bojan Milankovic
It doesn't matter. If you want to debug on a device running iOS4, you'll need Snow Leopard and the iOS 4 SDK
Philippe Leybaert
So, for simple mistake of accepting 4.0 update on my phone, now I need to buy a new operating system?
Bojan Milankovic
Indeed. Why is that so bad? Upgrading to Snow Leopard is a smart thing to do (and not expensive)
Philippe Leybaert
+4  A: 

You need to install Xcode 3.2.3 if you have a device with iOS4, whether you want to use iOS4 features or not.

Apple don't support downgrading your phone to earlier version of the OS, though there are ways of doing it. Your only "official" option is to move to Snow Leopard I'm afraid. (Though it's worth doing anyway)

Stephen Darlington
+1  A: 

Make sure you have iTunes 9.2 if you are connecting an iOS4 device. The device won't be detected even in xcode if its os is 4.0 and you are still using an older version of iTunes.

Nithin
+2  A: 

They're all wrong.

All you need is /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.0 (8A293) (it might be called just "4.0" in future releases). Grab it from a computer with 4.0 installed, or, or extract it from the install package (Pacifist, or lsbom/cpio/ditto), or whatever.

GDB doesn't like being run without symbols though, so also grab a copy of /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk (EDIT: I haven't tried this either, but it ought to work provided the object file format hasn't changed much). This will also let you attempt to compile for 4.0, but I haven't checked if it works (I don't know if 3.1.3's GCC supports "blocks").

EDIT: All that said, it's going to be easier if you just bite the bullet and upgrade. You need to compile against 4.0 if you want certain features like having your app backgrounded instead of killed (-[UIApplicationDelegate applicationDidEnterBackground:]).

tc.
Tricks like this certainly work for minor updates, though I'd be hesitant to use it as anything but a short-term stop-gap for a major release (such as iOS4).
Stephen Darlington
I'm more worried about using bits of a Snow Leopard SDK on Leopard. It worked for me though, for the week or two before I upgraded to SL.
tc.
For every problem there's a hack, but that doesn't mean we are wrong by saying it's not possible. Officially you can't deploy on an iOS4 device when you're running Xcode 3.1 / SDK 3.1. It's a lot safer to upgrade to Snow Leopard than it is to hack your installation like this.
Philippe Leybaert
"Safer" for what? It doesn't affect your 3.1.3 SDK; it lets you install the built-against-3.1.3 app on your 4.0 phone. It's not really even a hack.
tc.
A: 

i'm in the same situation:

I was a iphone 3.1.2 dev. For somme reaseon i have to restore so itunes force to update in ios 4.0 and now i can't developate because i'm in 10.5.8. So i should buy snow leopard despite the fact that i buy the apple dev programme. It's not fair. I've just email to [email protected] and i'll see what they will answer.

sybri
A: 

have updated version of xcode and itunes as you suggested here, but still having the same problem(No provisioned iPhone OS device is connected.).

A: 

Hi, i having the same problems too. I have upgrade my phone to 4.1 beta ver. and i'm using xcode 3.2.2 but the it keep complaining that the version of iphone os does not match version of iphone os support development with the installation of iphone SDK. So does this match it has to be xcode 3.2.2 and above for it to match?

Thanks in advance

john
A: 

A simple tip: force removal of device with right-click on the device where the amber dot is ("Remove from Organzer"). Reconnect again and the device should be accepted.