A TimeMachine taking my iDevice back to 3.1.2? - iphone

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.

Related

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.

Testing on an older iOS version with a real device

I have a feature that uses the camera so I can test it only on a device, I need to test it on older than iOS 4.3.5, However all of my iPhones are already at 4.3.5.
Is there a way to downgrade the iOS so i could test it on older iOS?
If your device was ever jailbroken, try looking into recovery of SHSH blobs to downgrade your iOS version. Otherwise, I don't know a way to achieve this.
Currently there is no way to do a downgrade to the iPhone OS to an older version unless the phone is jailbroken.

Lion + Xcode 4.1 deactivated iOS Simulator 3.x Testing

I searched for days, nothing found, no answer on apple dev forums, I want to be able to test my apps on older versions - on iOS Simulator!
I know - this is not the proper way of testing and not 100% reliable. But I can't afford getting another test-device with older iOS, aaand downgrading my existing devices seems to be a very tough task too - damn sure too tough for me...
Testing on iOS Simulator for 3.x versions will do enough good for those who didn't upgrade to 4.x yet and download my apps.
So please - anyone who was able to reactivate the older iOS Simulator SDKs on Lion / Xcode 4.1? - Don't tell me to set deployment target please :-)
THANKS!
Actually you can install xcode 3.2.x in Lion, and it's will automatic installed in "developer-old" floder. Your xcode 4.1 is still available.
I also want to reactivate the older iOS Simulator SDKs on Lion / Xcode 4.1. ;)
NotMyName posted blow in devforums.apple.com
By reverting back to OS X 10.6.8, and Xcode 4.02, apparently. :-(
Although it is worth noting that the Apple employees posting here have repeated a few times that this is an intended change, and one might guess that either the various simulator versions weren't particularly accurate on their API levels, or that it was just too much work to maintain. I seem to remember there being some bugs in the block implementations at the various levels, for starters.
There's also the often reported mantra, "The simulator is NOT an accurate way of testing your app's behavior."
You can't reactivate the iOS 3.x Simulator, you will need to install an older version of Xcode (one with the iOS 3.x SDK) along side Xcode 4.x (with the iOS 4.x SDK).

Testing iPhone apps in iOS 3.0

Officially Apple let developers deploy apps that's compatible with iOS 3.0 to iOS 4.2. However there are some APIs and some hardware features that's not present in some devices or in some iOS versions.
However if you only have one testing device, and you want to try to install a clean iOS 3.0 to that, for testing purposes, what is the official way to do it? I tried looking all over Apple developer website and it does not give me anything.
I asked a similar question before: A TimeMachine taking my iDevice back to 3.1.2?
After that I did a thorough research on this topic. It finally turned out, that actually there is no official way for a developer to downgrade her or his own device back to an earlier iOS. Apple just doesn't allow that to happen.
However, in your code, there are many things you can do to make sure your app is supported in an old version iOS. Check this great post: http://cocoawithlove.com/2010/07/tips-tricks-for-conditional-ios3-ios32.html
If testing on the iOS Simulator is enough, you can achieve that by installing previous versions of the SDK which contains the older versions of iOS.
As for device, there is no quick way to switch between iOS versions on a single device.
I struggled with this for a while, and eventually gave up on downgrading and bought a used 1st gen iPod Touch, which can't be upgraded to 4.x so it's guaranteed to be 2.x or 3.x (2.x is easily upgraded to 3.x).
Now I test on that. Added benefit is that when testing on it you're at the same time checking the performance on a slower (slowest?) iOS device too.

downgrading iPhone 3GS iOS4 to OS3

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.