I want to roll back an iPod Touch 2nd gen from the 3.0 OS to the 2.2.1 release so I can test my application on there. The documentation lists the OSes as being available on the dev center, but I'm unable to find them but for the 3.1 beta's. Did Apple just hide them where I didn't look, or are those files not available anymore, and if so, is there an alternative to rolling back the device?
I've found a site that is an interface to Apple's update feed, listing all the available firmwares for both the IPod touch and the IPhone. Using the XCode Organizer it is then possible to load new firmwares unto the development device, however, to downgrade it is necessary to put the device into DFU mode
Same question over here:
http://discussions.apple.com/thread.jspa?messageID=9655781
Basically you have to find the 2.2.1 software yourself. That's why I always keep my copies of firmwares.
The first thing to note is that rolling back to older releases is not officially supported.
Perhaps because of this, downgrading is not a simple point-and-click exercise. I found a guide here. Most of the complexity is around the iPhone baseband firmware which shouldn't be a problem with the iPod touch.
If you Google around you can usually find these.
Apple tries to hide them because they are paid updates (grr).
For iPhone users: http://www.poorlad.com/iCommunity/
Related
I am wondering if it is possible to downgrade an iPhone to older versions of iOS even when the firmware is not signed by Apple.
I am a developer and I might need to install iOS6/7 on my iPhone, which currently has iOS8.
Is there a way to do that?
No, if you had an older device and saved the SHSH blobs when Apple were still signing the firmware then you would be able to.
I keep an old device for each major version of the OS from 4 upwards, and you get get them on ebay for quite cheap. iOS 6 is a very small percentage of the overall market now, so unless you are needing to support it for a specific reason it would be best to drop support.
If anyone is still interested in this in 2017, you can save your SHSH2 blobs by following this guide & then using Prometheus from Tihmstar.
Is there any elegant way to "Cut off" support for older iOS operating system versions? When I first published my app the current version of iOS was in the 3.x range. As time progresses continuing to put out updates that support iOS 3.0, while integrating new features found in 4.0 is getting more and more time consuming. Yet I don't see any way that iTunes or any iDevice will effectively handle this for existing users.
Should I simply upload an update set the minimum iOS to 4.0 (or whatever I choose) and move on?
Most people have already upgraded to iOS 4.x, but there are still a few on iOS 3.x. Leaving those out will surely bring a couple bad App Store reviews (since they won't be able to update, and even worse: if they delete the app they won't be able to download the last 3.x-compatible version of your app), but sometimes it's worth it.
And yes, you'll need to upload a version that was built with "iOS Deployment Target" set to iOS 4.0.
There isn't any really elegant way, but fortunately most users have moved on to at least OS 4.
The best thing you can do is to give lots of notice in your app update notes, letting users know that "the next update will be 4.0+ only" or that "this is the final 3.x supporting version, please make a backup if you need it..."
Communication is key.
A few days before Apple released iOS 7, they start supporting download of older versions of your app. From the article:
For example, a user running iOS 5 can now — for the first time — download an app that supports that version of iOS, even if the latest version of the app is ready for iOS 7. The move, which was highlighted on Reddit, is a significant one as it will give those who have not upgraded their iPad, iPhone or iPod to the most recent versions of iOS access to a lot more apps.
So if I were you, I would do one more update to support older iOS devices for one last time before moving on and setting the deployment target to higher iOS version.
The weird thing is, I don't think we can go back and update the older version of our app. So if we have App 1.0 that supports down to iOS 5, then App 1.1 supports only iOS 7 and above, there is no way to release a 1.0.1 update to fix critical bugs for iOS 5 users.
That's why I said I'd update it one last time before bumping the deployment target. Maybe wait a few weeks and see if your last update has any critical bugs.
How to find percentage of users on different iOS devices (not OS versions) ? Is there a source from where I can get this information. It would help developer to decide whether go through pains of supporting older devices and sometimes even iPads.
For the iPhone you can look it up at Wikipedia:
http://en.wikipedia.org/wiki/File:IPhone_sales_per_quarter_simple.svg
And for the iPod Touch it will be likely the same. But in general your App should run fine on at least the 2nd Gen Devices.
If this is for your own app, you can at least get iPhone / iTouch / iPad from Google Analytics. If you're using Flurry or something else, this article suggests some ways to send the data yourself, though technically Apple doesn't approve it.
How can I learn which devices/OS versions my iOS app is being run on?
How to rollback iPad OS 3.2.2 to 3.2 for development purpose.
I downgraded from iOS4 to iOS3.1.2 on my iPhone 3G and iPod Touch, by downloading the OS off the internet and pressing alt (or it might have been Shift) while clicking the upgrade or restore button (in iTunes) and then in the open File Dialog which follows browsing to the downloaded Firmware.
Apple blocked me from restoring to 3.1.3 though.
I doubt this illegal as it's built into iTunes.
There is not supported way to do this. It might be possible using Jailbreak tools, but I'm not familiar with them.
I had the same issue. I was using my iPod Touch as a 4.0 beta device, but now that 4.0 is gold and I put it on my 3GS, I wanted to use the iPod as a 3.1.3 compatibility test device. Once Apple removes support for a specific version, iTunes and XCode will no longer let you install or update to an outdated version.
You can't. But not exactly for the reason Chris specifies -- if it were just down to Xcode or iTunes, one could always keep old installers around and just use those to do rollbacks. The real reason is the device doesn't allow itself to take an older version of firmware than what it already has.
This is a "gotcha" that seems to get every developer at least once. Consider it a rite of iOS development passage. :)
I am currently working with a device that has iPhone OS 2.2.1.
And as You all know that the OS 3.0 update is available for download.
I have downloaded the update and also read many comments on it.
I have developed all my apps on OS 2.2.1.
Just to confirm, if I install 3.0 on my device will the apps be compatible.
If not then can I roll back to 2.2.1? If rolling back is possible then how can I roll back?
Are your Apps for sale in the App Store? Or are they private apps? Apple won't approve any that aren't 3.0 compatible now, but I'm pretty sure all 2.2.1 apps work on 3.0.
With the iPhone simulator, you can test for different versions. With the device, there is no easy way to roll back to 2.2.1.
To answer your question about downgrading, I did exactly this process yesterday, downgrading my iPod Touch 2G from the 3.0 GM firmware, down to 2.2.1.
First of all, you need to get hold of the 2.2.1 Firmware. There are links list on http://www.blogsdna.com/2264/iphone-firmware-221-and-ipod-touch-firmware-221-released.htm
If you download the zip file and there is a .zip filename suffix, simply remove the '.zip' portion from the filename. Do not unzip the file. The ipsw file uses zip to encapsulate the various files associated with a firmware upgrade.
Next, you need to connect your device to your Mac, and place it in DFU mode. This involves holding down the home and power buttons until the device powers off, and then lifting your finger off the power button, but keeping it on the home button for a few seconds, and then releasing. This is a little tricky, so have a look at the various articles written on the topic. It took me a couple of times to get it right.
Once you've put the device in DFU mode, you can use Xcode's Organizer window to load the 2.2.1 firmware onto the device. Go to the Software Versions menu, and select Other Version.... Then browse to your downloaded 2.2.1 firmware file, and click Open, and then click Restore [device].
Maybe you can downgrade with the pwnage tool.. but I'm not sure.. anyway you can try to downgrade to 2.1 and see what happens..