iOS 4.3.1 on the phone - does it work with XCode 3.x ? or only 4.0.1? - iphone

I upgraded my iPhone to the latest OS (4.3.1) yesterday, and noticed there is no corresponding XCode 3.x release, only a 4.x release (4.0.1).
Since upgrading I am getting warnings when I try to install apps on the device using my development certificates (Application failed codesign verification).
Not sure if the OS upgrade on the Phone and the error message are related, so I'm just asking the question if anyone else had this happening?
And are we supposed to use XCode 4.0.1 when we develop for the 4.3.1 iOS release or can we use a 3.x version as well?

The Xcode version number isn't important, but the SDK version number is. You can get the latest SDK with either Xcode 3.2.6 or Xcode 4.0.1 at the time that I'm writing this.

You can still download the XCode 3.2.6, it goes with the SDK 4.3, and it is free to download.
You can try with XCode 4 as well, but you have to either to have an iPhone or Mac Developer account (99$/year) or you need to buy it from the AppStore

It still works, however of you first attach your iPhone to Xcode it will ask you to download the debugging symbols off the phone. Answer Yes to this question and you are ready to go.
However there is one more thing: usually Apple makes restrictions about the SDK you should use when submitting apps to the store. So if you want to submit an app it could be that you have to use the most recent SDK.

Deploying an application directly from XCode 3.2.6 on a device where iOS 4.3.1 has just been installed won't work.
First, you need to open XCode's Organizer window and ask to collect information from the device. Then it will work fine.

Related

Testing on jailbroken brand-new iOS device - using Xcode?

OK. So, here's some details on my situation :
I've got a brand-new iPhone 4.
The iOS version has been updated to 5.1.1 (9B206).
The phone has been jailbroken using redsn0w.
I'm running Lion (10.7.4) and Xcode 4.3.
Now, my issue :
I'm creating a sample test app, which runs fine under the simulator.
Followed everything here, but without any result.
Also tried enabling my device via Organizer ("Use as development device").
When I click on "Use as development device", it keeps saying...
The version of iOS on “Dr.Kameleon’s iPhone” does not match any of the
versions of iOS supported for development with this installation of
the iOS SDK. Please restore the device to a version of the OS listed
below, or update to the latest version of the iOS SDK; which is
available here.
OS Installed on Dr.Kameleon’s iPhone
5.1.1 (9B206)
Xcode Supported iOS Versions Latest
5.0 (9A334)
4.3
4.2
While, when I try running on my "iOS device" (that's how it appears), it claims there's no device with a proper iOS version.
No provisioned iOS devices are available with a compatible iOS
version. Connect an iOS device with a recent enough version of iOS to
run your application or choose an iOS simulator as the destination.
Any ideas? What's going wrong?
Look, everyone who says you can't build directly on a jailbroken device is wrong. You can, and it's quite easy to do. If you don't have a provisioned device (and it looks like you don't), using this guide will work. I've tested it myself on Lion running Xcode 4.3 (it even works on later versions, but those are under NDA).
The real issue seems to be that, for whatever reason, you don't have the iOS 5.1 SDK - you're using the iOS 5.0 SDK. You can confirm this by looking in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport. If you don't see any mention of 5.1, you don't have it installed. Try downloading and installing Xcode again (I believe it's 4.3.2 now), which should have the iOS 5.1 SDK bundled with it.
This error is not due to the jailbroken iPhone, its basically due to your lower version of Xcode which doesn't support the latest iOS, try upgrading your Xcode version to latest.hope it helps

Xcode 4 will no longer run apps on 4.2.10 device (CDMA iPhone)

Up until today, I have been able to test my app on my CDMA iPhone, running 4.2.10. I am building against the 4.3 SDK, with a deployment target of 4.0.
After restarting my phone today, Xcode will no longer allow me to test the app on my phone, with this message in the Organizer window: "The version of iOS on "iPhone" does not match any of the versions of iOS supported for development with this installation of the iOS SDK. Please restore the device to a version of the OS listed, or update to the latest version of the iOS SDK"
Unfortunately there are some bugs with location services in the simulator, so I can't use that for testing either.
Can I even install the 4.2 SDK in Xcode 4? Is anyone else having this problem, or (hopefully) does anyone know how to fix it? Thanks for any help!
If you install xcode 4 it will actually gather the build chain from your phone and use it for compiling. You can see this in the organizer window (Window->Organizer?).
You know I had that same issue i found that I had to download the latest xcode and reinstall because for some reason the ios that came with xcode knew how to build on my phone. Sorry man.

How to debug iOS app build with lower SDK on device with higher iOS

I'm using xCode 3.2.3 with 4.0 iOS SDK, but my iTouch has iOS 4.2 installed.
I could deploy and run Release version app on my iTouch, but when I try to debug app on device, the app is always running with nothing but black screen, without any response.
The problem is:
How to debug iOS app build with 4.0 SDK on device installed iOS 4.2?
If you go to Xcode's organizer you'll see that your device is actually not allowed to run the debug mode (with a development provision file), since your SDK version is lower than your device's OS. Apple just doesn't allow that to happen.
I assume that you want to keep your old SDK is because you want to check the compatibility with older OS. I would suggest you upgrade your Xcode and its SDK to the latest version (3.2.5/4.2.1) while testing your app on old and new OS devices.
Try installing the latest iOS SDK to another folder (mine is at /DeveloperBeta). That way you could continue developing and debugging using the new SDK, while still having the old SDK around to build for app submission.

Simulate iPhone 3.0 with SDK 4.0

i have xcode 3.1.3 and xcode 3.2.1 installed
For sure now I use 3.2.1 with Sdk 4 to develop new apps.
But what if I like to test a App compiled with sdk 4 on a
simulated iphone that would just have 3.0??
As BaseSDk i use 4.0 and as target 3.0
In xcode 3.1.3 i could select a simulator down to 2.x but with sdk 4.0
i only have the option 4.0 iphone or 3.2 ipad
Example> i know iAd is not supported before 4.0 so I set the
framework to weak. But just to be sure all works fine I really
would like to test my app in a simulator that simulates an iphone with 3.0
thx
chris
The new simulator does not seem to be able to run the old simulator OSs (3.2 being the oldest it'll run). I tried moving them over from old SDK installs and several variations and "no go".
You can check that you aren't using methods defined in the new SDK, when you set the base SDK to 4.0 but set the Deployment to to 3.1.3, for example. For a blog post on how to do this see this blog post, and note my comment on an easier way to do the last two steps (no need to edit the project file as a text file).
inside the iphone sdk dmg file, there should be a folder called packages. in it, you'll find packages like iPhoneSDK3_0 and iPhoneSimulator3_0. Install them to be able to use them in xcode.
Correct me if I'm wrong, but I think a device with 3.0 installed can't even run apps compiled with 3.2 or 4.0. Furthermore, Apple now only accepts iPhone apps (including updates of existing apps) linked against the 4.0 libraries, which won't run on OS version 3.0 devices.
So why do you want to test your app on a 3.0 device?
Try setting the architecture you want to build for in the Xcode project preferences and rebuilding.
If this doesn't work, completely uninstall Xcode and downgrade. You have to completely uninstall because your system must have updated the frameworks for 4.0.
Hope this helps

Organizer reporting, "The version of iPhone OS doesn't match iPhone OS supported for development"

Earlier this week I was developing to the device just fine. I upgraded itunes to the latest version (9.0.2 (25)) and I noticed that Organizer was throwing the:
The version of iPhone OS on “sk’s
iPhone” does not match any of the
versions of iPhone OS supported for
development
So I figured I'd upgrade to the newest XCode in hopes that it would solve the problem. Well, it didn't - After an upgrade to Xcode 3.2.2 Organizer is still throwing the error and not letting me build to the device.
Image of the exact error message: http://mr-sk.com/iphone/organizer.png
Edit: I installed the 3.2 SDK - Apparently I missed out on the 3.1.3 SDK - any idea how to fix this?
Side note: This ALWAYS seems to happen to me - every time I upgrade. Last time I believed it was fixed by some random terminal command (sym linking a path? - I can't recall) but it's a PITA that this never, ever, seems to work smoothly.
Thanks!
You installed 3.1.3 on your phone, but did not get the updated 3.1.3 SDK.
Install the latest 3.1.3 SDK recently released from Apple. Then, to develop for iPad, install the 3.2 SDK Beta to a different location in the installer. This will allow you to use the official version now, and still play with the beta version with the iPad simulator.