Updating Xcode 4.3 to support ios 5.1 - iphone

My Xcode version today is 4.3, so it only supports iOS 5.0, right?. Then I finished my project for my client. What I wanted is for my project to be supported for iOS 5.1, I was thinking of updating my Xcode to 4.3.3, or should I update it to 4.4? to support iOS 5.1. I am really confused right now.
Would my project be still compatible with the version I am going to update it to, or I'll be changing some codes in my project.
Hope someone will help me, I'm kinda of scared making a mistake.
Thanks for your consideration.

Update your XCode to latest version It would support all lower version as well. Lower version of XCode doesn't support the upper IOS version than its Compatible IOS version but the latest version of XCode would support all lower IOS version.
I think it is clear enough.

As you can see at the description, Xcode 4.3.3 and Xcode 4.0 both compatible with Lion and support iOs 5.1.
What i want you to know is that from iPhone 5 release it became clear that iOs 6.0 is coming today, probably with the Xcode 4.5 release version to support the latest SDK - it must require Mountain Lion though. And you'll probably lose armv6 support.
Usually you don't have to change any part of the code for the newer SDK support unless you are using something declared as private at header comments or explicitly marked as deprecated.

Doesnt Xcode 4.3 support 5.1 Already? are you on Lion? if so, then xcode 4.3 should be supporting 5.1 already.. BTW, xcode 4.3.3 is a lot better and stable version. You shouldn't be worried about it, and have it updated.

Related

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

How to get the iPhone 4.x simulator in xcode 4.2?

i have installed xcode 4.2. In toolbar, schemes section, shows only iPhone/iPad 5.0 simulator.
what i have to do in order to see other platforms simulator like 3.0, 4.2 etc.
Go to Preferences->Downloads, there you can download older versions of the Simulator. It only offers 4.3 though, i doubt that older ones are available for Xcode 4.2.
Edit: There seems to be no official information about this but many users in the Dev Forums claim that older simulators are indeed unsupported with Xcode 4.2.
You can't by any easy way. I was hopping the debugging symbols package in Preferences -> Downloads would do it, but no.
The alternative is here: Xcode 4.3 and iPhone Simulator 4.2

How to work with iAds using xcode 3.1.3

Presently I am Working With Integrate iAds and make a lite version of the app. My Problem is Previously I am working with iAds is xcode 4.1.3 but Presently I was used xcode 3.1.3 iAds are not supporting what we do please help me.
NSString *contentSize = UIInterfaceOrientationIsPortrait(self.interfaceOrientation) ? ADBannerContentSizeIdentifier320x50 : ADBannerContentSizeIdentifier480x32;
This line error: ADBannerContentSizeidentifier320x50'undeclared(first use in this function)
First, even in the newest versions of iOS, ADBannerContentSizeidentifier320x50 is no longer the preferred constant. Use ADBannerContentSizeIdentifierPortrait instead.
But I think the real issue here is that Xcode 3.1.3 is too old to include the iAd framework. It was first included in iOS4 and so won't be there in anything older. Your choices therefore are:
Use a newer version of Xcode (and iOS)
Don't use iAds. There are other ad networks such as AdMob that still support older devices
Upgrade your SDK to the latest version.
You need at least iOS 4.0 if you want to use iAd. And I think Xcode 3.1.3 only includes the iPhone OS 3.0 SDK.
Time to upgrade to Snow Leopard?

Xcode iOS SDK compatibility

How does the statement "The project should be compatible with iOS 4.0 and must run on iOS 4.3", effect the coding and judgment of Xcode version?
should be compatible with IOS 4.0
This means that you need to set your deployment target to 4.0 or lower. If you use any post-4.0 frameworks, they must be weak-linked, you cannot rely on them, and you must test for them before using them. Same goes for post-4.0 classes and selectors - you can't rely on them and you must test for them before using them. Simplest solution is simply to not use anything that isn't in 4.0.
must run on IOS 4.3
In general, everything that works on 4.0 will work on 4.3, so there's not much to worry about here.
Xcode version doesn't really matter. What matters is the version of the iOS SDK.
You can really use any version of the iOS SDK. Anything developed with any version of the SDK should be compatible with both 4.0 and 4.3.
If you need to use specific features of iOS 4.0 that are not available with previous versions, then you need to use 4.0 or later of the SDK.
In general, you should always use the latest version of the SDK, but set your target's properties to whatever the earliest version of the iOS is supported by your app.
It affects the earliest version of the OS (4.0) against you must test on an actual device.

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.