iPhone 3.2 simulator - iphone

I'm working with a legacy app with a deployment target of 3.0. I have a crash being reported on iOS 3.1.3 for iPhone. In xcode 4 the only 3.x simulator I see listed is iPad 3.2
How do I test iOS 3.1.3 for iPhone?

See Install xCode 3.2.3 w/ iPhone SDK 4, get "Base SDK missing", can't see other SDKs for an extended discussion of this topic. Also, links to older Xcode and iOS SDK versions can be found at http://chris-fletcher.com/2010/08/28/howto-install-iphone-sdk-2-0-3-1-for-xcode-3-2/.

Buy a used iPhone or iPod Touch that has 3.1.3 installed and don't update the iOS on it. I have a 3G with 313, no cell service and just use it for testing on wifi. This is also useful to see check what the performance is like on a slower phone.
However, many 3.1.3 crashes are caused by using a 4.0 API call or object that is only in 4.0. You can find those problems on the 3.2 simulator.

It's not possible actually with Xcode4. If you can get old version of Xcode3.1 with iOS SDK 3.1 and install it side by side with Xcode4 then it may be possible.

Related

can app(target os below 4.3) run on ios6

Just wonder if the app(target os below 4.3) can run on ios6.
xcode 4.5 can not build the target below 4.3, does this mean ios6 does not accept app with os target below 4.3?
Welcome any comment
Almost all apps built for older iOS versions will be able to run on future iOS versions. However, you will have difficulty building older iOS apps to newer iOS devices. Also, be careful when you release. I had been working on one of my apps in iOS 4, and it was rejected for crashing. I updated my xcode and realized some of the old code didn't work in iOS 6.
an app targeted below 4.3 should be able to run on iOS6 devices as long as the app is built with an xcode less than 4.5. at least that was the case with an app I work on and it didn't seem to cause any problems (that i'm aware of). the difference is if you want to update that app using xcode 4.5 you'll have to change the target build to at least 4.3.

We intend to support the iPhone 5, do we need to upgrade Xcode to v4.5 and use the iOS 6 SDK?

We want to update our game to support the iPhone 5.
Do we need to upgrade Xcode to v4.5 and use the iOS 6 SDK??
[edit]Apple is now explicitly rejecting applications submitted with the iOS 5.x SDK and iPhone 5 default images, saying "Your app contains a launch image with a size modifier that is only supported for apps built with the iOS 6.0 SDK or later."
Old answer :
Yes you can use Xcode 4.4 or below to support iPhone 5.
The iOS (6) will run an app in letterbox mode if there is not a 640x1136 splashscreen image in your resources. The image must be called Default-568h#2x.png (if your splashscreen is Default.png in your Info.plist).
So just add this image on your Xcode project whatever version it is, and the app will run in full screen mode.
This being said, there are chances that Apple will not let you install an app compiled with Xcode 4.4 or below on an iOS 6 device (and of course no iPhone 5 simulator for Xcode 4.4 and below). [edit] As told in the comments, yes, you can install on an iPhone 5 / iOS6 with Xcode4.4.
All apps created with older SDK works perfectly on newer iOS versions, so iPhone 5 should also run every existing app without any problem, so you don't need to use the iOS 6.0 SDK to support iPhone 5.
I think you mean to ask to support iOS 5. If that is the case then you really do not need to upgrade your Xcode version. YOu can use iOS SDK 5.0 or iOS SDK 5.1 which contains Xcode version 4.2 and 4.3.
You really do not need to use iOS SDK 6.0 beta. I hope this may help you.
All the information about iOS 6 are under NDA, and the iPhone 5 is not even announced.
But there are rumors, that the iPhone 5 will have a screen resolution of 1136*640. There are hacks for Xcode 4.4.1 out there that make it possible to create that screen resolution in the iPhone simulator. So, I think that would be a viable way for testing the rumored new resolution.
Regarding iOS 6: if you are a paying iOS developer, you can download iOS 6 to test your app against it (We don't talk about products under NDA here).
You can use this receipt http://0xced.blogspot.co.at/2012/08/prepare-your-apps-for-new-iphone.html for start iOS Simulator (iOS 5 only) with new screen size.
Yes, You need to update your Xcode to build for iPhone5. Do the following steps for this:
Download Xcode 4.5 with iOS 5.1 SDK.
Build your apps with Xcode 4.5.

Debugging iPhone 3GS xcode 4.2.1

I recently upgraded xcode to 4.2.1 (with macOS 10.7.3).
I have two iphone which one is 4GS and the other is 3GS. And when I upgraded both phone to iOS 5.1, 4GS works well but 3GS not works with following error message.
The version of iOS on “Test iPhone” does not match any of the versions of iOS supported for development with this installation of the iOS SDK.
xcode says it support from iOS 5.0 (9A334).
And I want to know if this is from my mis-configuration of device or officially iPhone 3GS is not supported yet.
Is there anyone who suffers similar problem ?
Well, you may want to go to xcode 4.3.1, which was released recently along with the 5.1 SDK.
After the installation you will have to re-install simulators for older iOS and debug support for older devices respectively even older iOS versions.
Out of the top of my head: In the top left corner of xcode in the drop down list where you select your build target and the targetting device/simulator there should be some menu item "install more simulators" or so. Click on that and follow the GUI. It is quite selfexplaining but the downloads may take some time.
To develop in iOS 5.1 you have to upgrade sdk to latest one. I cant understand how you'r 4Gs worked fine

iOS Development: How can I run my iPhone 4.2 app on the iPhone 3.2 simulator?

I'm diving into iOS development and I'm building a simple app that will support iOS version 3.2 to 4.2. I've tested it fairly well in the latest version of Xcode on the 4.2 simulator, but I would like to also simulate it running on a iOS 3.2 device. After reading a few tutorials on this, I managed to download and install an older version of xcode along with the older 3.2 SDK, but when I build my project in the older version of Xcode, I get a ton errors due surrounding all the iOS 4.2 functionality that the older version of Xcode doesn't support. I'm weak-linking all the 4.2 frameworks, but I'm still getting errors. How can I get my 4.2 app to build successfully in this older version of Xcode and get it to run in the 3.2 iPhone simulator?
Thanks so much for your wisdom!
You need to add #ifdef __IPHONE_4_2...#endif around any lines that reference features that only exist on 4.2. That way the 3.2 compiler will build your app as if those lines don't exist.
You need to be extremely careful to structure these statements in such a way that they exactly mirror the bits of code that would be disabled when running the built-for-4.2 build on 3.2, otherwise there's not a lot of point.
This will build your app without any of the 4.2 functionality included, so it isn't actually testing whether your weak-linking etc is correct, it's just testing how the fallback 3.2 code works.
It will probably throw up a few warnings about features/methods you didn't know didn't exist in 3.2. Make sure these have appropriate fallback code added.
(btw Apple has been known to reject iPhone apps with a Base SDK of 3.2. You need to support at least 3.1.3 if you go back before 4.0)
Did you select the option of setting the base SDK to 3.0 or others?Because by doing so you can run the new APIs available in iOS 4.2 on older OS also.
Cheers
On the second issue, of actually running it in a 3.2 version of the iPhone within the iOS simulator: I've struggled with this -- Xcode 4.0.2, set my deployment target to iOS 3.2, set my project to iPhone only, but when I try to run in the iOS Simulator under version 3.2, the simulator morphs into the iPad simulator, even if it had been running as an iPhone simulator until I selected the version number.
This frustrated me for a while. But I read this and it made sense:
http://en.wikipedia.org/wiki/IOS_version_history
The iPhone never ran 3.2; that was an iPad-only release. So, even though the Hardware > Version menu in the iOS Simulator lists 3.2 (7W367A), presumably that setting is only intended to be compatible with Hardware > Device > iPad. The simulator is enforcing this rule when it switches me into an iPad simulator. It makes complete sense.
So I'd need a 3.1.3 simulator, or older, to run my app as if running on a 3.x-generation iPhone. This isn't available in my Xcode 4 build, so it makes sense to me now that I'm just unable to do anything about this, short of putting older Xcode builds on my machine.
I think the right way to do is as follows:
1.If you are developing for version 4.2, then you must be having Xcode version 4.2 installed.
2.While building your application on devices 4.0 and 3.2 OS, select base SDK to 4.2, and deployment target device to the minimum version you want to support, say 3.2. This will make your code compatible to lower version and your application will be loaded on lower versions.
Also to support new APIs in lower versions you may follow the link :
http://www.marco.org/1648550153
I hope this helps you
You can run both 3.2 and 4.x simulators in the latest Xcode (not at the same time, of course!). You have to set "Base SDK" to 4.2 and "iOS Deployment Target" to 3.2. Now you can select the 3.2 Simulator (or later) from the "Overview" popup menu in the top left corner of the project window. Also you can select the simulator version in the iOS Simulator app itself, via the "Hardware->Version" menu item.

How to test iPhone app on iOS 3.1.3?

I have an iPhone app which I need to test in an older version of iOS. In the iPhone Simulator, under the Hardware->Version menu, there are the options 3.2 and 4.0. Is it possible to test the app on an older version of the iOS? If so, how do I make it happen?
Unless you kept your old build of xcode (that has the 3.1.3 simulator) or you have a device running 3.1.3 you are more than likely out of luck.