downgrading iPhone 3GS iOS4 to OS3 - iphone

I'm working on an iphone project for OS3.1.3. I updated my iPhone to iOS4 and now I can't test my project on my iPhone anymore. I tried downgrading but get "device not eligible"
What should I do now?
If I download latest XCode SDK4 will I be able to recreate my app so that it runs both on OS3 and OS4 ? It has no specific os4 features.. it should just run on both and want to test it on real iphone with os4..
Greets

First of all, downgrading your phone won't work. at least not with the "official" approach. I think once there is a Jailbreak for iOS4, downgrading your phone should be possible again.
Secondly, Creating an iOS app with XCode SDK4 that runs on your 3.x devices is no problem at all:
Just set the "iPhone OS Deployment Target" Value (Target -> Info -> Build) to "iPhone OS 3.0"

You can build with SDK4 and still target older devices running iOS 3.2 or earlier. How to do this is covered in detail in this other question here.
You can downgrade your phone OS, that's covered in this question over here.
But really the best approach is to update Xcode, compile with SDK4 and support earlier iOS versions as well.

I'm in the same situation.
What is the best ?
1 Upgrade to SDK4 and still target on IOS 3.xx . Will iPhone ios 3.1.3 users be able to download apps built with SDK4 . I don't think so.
2 Downgrade ios4 to ios3 and still work with SDK3.
PS : Someone suggested to get the lastest SDK

You can downgrade iPhones, iPod touches and iPads.
Instructions are here. If for instance you're downgrading a second generation iPod Touch from iOS4 to iOS3.1.3 you'll need the iPod2,1_3.1.3_7E18_Restore.ipsw firmware. A Google search will bring these things up.
Some downgrading references ask you to modify a "hosts" file. I don't think this is necessary, I downgraded from iOS4.2 to iOS3.0 (and to iOS2.0 for fun) without having to do this.
Good luck.

Related

Testing on iOS 3.1 simulator

iOS project. Base SDK 4.2, deployment target 3.0. A customer is complaining about an issue on iOS 3.1 (he has an old device).
I tried installing Xcode 3.2.3 - the oldest there is for download. It does not offer iOS 3.1 as a test target. Does anyone know how can I enable older versions of iOS on the simulator?
The box also has Xcode 4 (in a different folder). Could it be the case that they're sharing the iOS simulator, and the backwards-incompatible one from Xcode 4 is getting in the way?
There is no substitute for testing on a real device.
I've had a problem with my iPod touch (3rd gen, ios 5.0) crashing in one app. Every day. The dev won't buy, beg, borrow or steal a real iPod touch to test it on so he can fix it. As a user this is extremely frustrating.
EDIT:
The final versions of Xcode with the iPhone SDK, as it was called then, are not available from Apple's download page, but the direct links still work.
The direct links can be found at:
http://chris-fletcher.com/2010/08/28/howto-install-iphone-sdk-2-0-3-1-for-xcode-3-2/
If you use the latest Xcode, you can install device debugging support via the Downloads->Components section, a la: http://cl.ly/3U1V1G3W2p2E1G29342e
http://iphonesdkdev.blogspot.com/2010/04/old-versions-of-iphone-sdk.html
Some of the links are dead though. Apple is removing those old files little by little. Get them while supplies last.

Can't test app on iPhone after updating iPhone

I ran it fine, did all the certification hassle and my sister updates the iPhone and next day I can't test anything, Xcode doesn't simply recognize the damn iPhone. Please help. There is literally nothing I have found that solves this problem..
I should say that it worked fine a day ago. I'm so damn angry and frustrated I can't type..
Apple does a really really poor job of being clear what to do.
EDIT: I also see this "You don’t have permission to save the file “iOS DeviceSupport” in the folder “Xcode”."
What version of Xcode do you have and what iOS-version does the test-device have?
To test applications with Xcode 4.2.1, the device has to be of iOS 5.0.1 or down. If you updated to the iOS 5.1 beta, you will need to download Xcode 4.3 beta as well, as Xcode 4.2.1 does not have the required DeviceSupport-files for the beta.
EDIT:
Since you have Xcode 4.2, you will need to update to 4.2.1 to be able to test your applications on an iOS 5.0.1-device.
You'll need Xcode 4.2.1 if your iPhone is version 5.0.1.
I had the same problem,
Here is my solution!
First Update both Xcode and phone with the latest software.
Then go to the organizer and enable iPhone for development.
Done ..

How to test iOS 5.0 app on Xcode 4.2?

I can change my deployment target from 3.0 to 4.3 and test that my application is compatible with all these versions but how can I test if my application is compatible with all versions including iOS 5.0? Any idea regarding the same? Also note that I have iPhone 3GS with iOS 4.0.2 and need to test in iOS 5.0. Hope to get a good help. Thanks.
Eventually, you'll need to get a device that has iOS 5 installed. Without that, you can only test this in the iOS 5 simulator.
Also note that changing the deployment target is not enough to test if your app is compatible with that OS version. Basically, this just means that you promise that it'll run from this version upwards, but it doesn't enforce that you don't use any APIs that might not be available there.
I you wanna do it properly, you will have to get every device there is, with every version you want to support ... that is, imho, overkill. I just test my Apps on the 4.3 and 5.0 Simulator in XCode and on my 5.0 iPhone 4. And have not had any problems with that 'til now.
BTW you should update your 3GS to 5.0.1.
To test in the simulator with iOS5, you can set the OS version with the Version submenu of the simulator's Hardware menu.

Xcode deployment target

If my deployment target is set to iOS 4.1 and submitted to apple, and they test the app on iOS 4.3, would that cause the app to malfunction? My app was rejected for a bug that I am unable to recreate on my iPhone 4. The exact same device model they tested the app on. I simply cannot find the bug or error in my code. Any advice would be greatly appreciated.
If you build your app to target iOS 4.1 it should run on iOS 4.3. It's possible that your app does something that works on 4.1 but causes a problem on 4.3; I had that myself with an app already in the store, and had to post an update so it worked correctly under a newer iOS release.
Note that you can tell the iOS Simulator what version iOS to simulate: on the Hardware menu, select Version, and subsequent runs will be tested against that version of the system libraries.
The simulator is not a perfect reproduction of a real device, but hopefully you can do this to reproduce the behavior that Apple has seen on their devices.
Did you test it on your iPhone 4 with iOS 4.3? There's two parts to the puzzle. If they rejected it for crashing under iPhone 4, you have to check all the different iOS versions you claim to support. The target iOS 4.1 should still make it work on 4.3, you just might have a crash (which apparently you do). Through testing with that actual software version on your iPhone, you'll find the bug and hopefully squash it. Good luck!

A TimeMachine taking my iDevice back to 3.1.2?

My biggest headache now is find a iPhone 3Gs with iOS 3.1.2 on it. iPhone 3Gs is everywhere, but all of them are with iOS 4.1 or even higher.
My question is, is it possible that I get a iPhone 3Gs (with iOS 4.x) and some software package so that I can restore it back to iOS 3.1.2?
Btw by saying 3.1.2 I mean the official non-jailbreaking 3.1.2.
Many thanks,
Di
You would have to have your SHSH's saved with Cydia, then you can downgrade to any version you like (that's supported). With that said, after downgrading, You could always not jailbreak, so it's a legit iOS 3.1.2, but you would have to be jailbroken at one point prior. Other than this, NO, there is NO WAY to DOWNGRADE from any iOS version.
Alternatively, You can try Xcode to downgrade your device as a Developer Device. This would probably be the closest I can think of that Apple would let you downgrade. But it is a longshot.
Just in case you meant 3.1.3 (not 3.1.2), there is this article from lifehacker on how to downgrade from iOS4 to 3.1.3: http://lifehacker.com/5572003/how-to-downgrade-your-iphone-3g%5Bs%5D-from-ios-4-to-ios-313. I used this successfully to downgrade to 3.1.3.
Based on the article, it looks like you could do the same in downgrading to 3.1.2, you just need to find the right image for it.