How to test my ios app in ios 4.3 version? - iphone

i am running with the latest IOS Xcode and itunes versions now.
i have released one of my apps one week ago and 4.3 users have a crash a a specific point.
there is no option to test my app on the simulator, its gotta run on a real device, any ideas how can i do it?

http://www.redmondpie.com/downgrade-5.1-to-5.0.1-5.0-4.3.3-4.3.5-on-iphone-ipad-ipod-touch-how-to-tutorial/
That link can show you how to downgrade
Otherwise the simulator should be a good place to test unless your game has a "power" attribute, like a game, in that case the simulator (which is essentially the iMac) will perform better and different than a device. Otherwise you can go into the project/target settings and change the build version type to a lower version

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.

If my build targets iOS 5.0, what happens when older OS versions try to download/run it?

I recently submitted an app to the app store. My iOS version target is 5.0.
What will happen when users with older iOS versions try download my app?
If users download it from iTunes on their computer, it will download but they won't be able to sync it to their iDevices. But if they try to download it directly from their iDevice, the device will pop up an alert, saying that they won't be able to download it.
But, most app right now has lower iOS version target for broader audience.
When users of an older iOS try to buy/install it they will get an alert that says they need iOS5 to run this app....and not be able to purchase
If you want to actually test this, you can change the target build for your app and run it in a simulator/test phone to see what happens.
If there is anything that is in your iPhone app that is iOS 5 only, there should be some problems. ARC and weak references are compatible with iOS 4.x, but not iOS 3.x.
EDIT: Make sure that the minimum OS required is not also set to iOS 5, because then it will not run on any lower OS version.

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!

xCode 4.0.2 how to run for 3.x simulator

i downloaded xCode 4.0.2 (Build 4A2002a) on my mac, and i want to test my program on old iOS (like 3.1.3)
I try many options in sdk menu, but nothing work.
Is there any way to run old iphone simulator on new sdk
No. I think Apple want to encourage developers to adopt new versions of iOS as quickly as possible, so they only go back as far as they think they need to. That seems to be 4.0 in the current downloads (as of June 2011).
To be fair, though, there is no substitute for testing on real hardware. Remember it's a simulator not an emulator. There are differences that you're not going to spot if you rely too heavily on the Simulator.

Testing in iOS 3.1.3 with the latest Xcode

How do you test an app in iOS 3.1.3 with the latest Xcode build?
Is it possible to do this in the Simulator? If not, is it possible to downgrade a device to iOS 3.1.3?
Yes, you can downgrade a device. It is not officially supported but I've done it on two 3Gs with success for testing on 3.1.3.
First find a tool called RecBoot by someone called the0rkus, runs on Intel macs only. This brings the phone out of recovery mode once you have loaded the 3.1.3 software.
Find the .ipsw file for your device, as you know it is a different file for iPhone 3/3GS or iPod Touch. Load this software to the phone via iTunes in the usual way, holding the option key while clicking "restore". Wait while it loads.
When it finishes and reboots you will find iTunes complains about this version being incorrect. Situation is the software is loaded, ready to go, but it lacks the final blessing from Apple. RecBoot brings it out of this mode, "waking" the phone into normal ready-to-activate state. Once you have gone through connection to iTunes with a SIM inserted you have a phone just as if you had never gone to 4.0.
Too bad we have to resort to a hack to test with older devices but I don't know any other way. It would be nice if the simulator could still run 3.1.3, nice if setting deployment target would flag pre-3.2 features.
You can also install the older Xcode 3.2.1 with iPhone SDK 3.1.3 but the hardware is the true test of whether your software really works. Given that, you could probably skip finding and using it - although there is no quicker way to find everything that you can't use in 3.1.3. There is no problem having multiple copies of Xcode of different versions installed but it is a good idea to uninstall them with the script provided in /Developer/Library/uninstall-devtools (read the readme included with each Xcode distribution)
You need to test the app on a device running 3.1.3.
The deployment target is one thing (that you set to 3.0 so that you can test on the device)
But if you are looking debugging with a specific version of the SDK, you should have the respective XCode installer.
Does your simulator have a menu marked "hardware" with a variety of older OS version choices?
(Mine does.)
Just use that.
It won't be 100% "actual device" test... but it's a WHOLE lot easier.
(None of the simulators are 100% tests anyway.)