iOS 6.1 compatibility - ios

I have a iOS 7.0 app, I need it run perfectly on iOS 6.1. I have download the iOS 6.1 simulator, and I have the iOS 7.0 sdk as the base sdk. If I want my app to run perfectly both on iOS 7.0 and iOS 6.1 do I have to set the base sdk as 6.1? or keep iOS 7.0 as the base sdk and just run this app using iOS 6.1 simulator. I know I should the set the deployment target as iOS 6.1 so It can work on iOS 6.1. I just don't know how to set the base sdk. Can anybody explain me the base sdk and deployment target?

The base SDK defines which functionality you can use in your apps. As of today 2014-03-31, you can't submit applications that have a Base SDK set to iOS 6 anymore. You need to compile your apps with the 7.0 base SDK.
The deployment target describes the lowest iOS version your app will run on, so in your case it's 6.0.
If you're using iOS 7-only features, you'll have to implement runtime checks, largely based on -respondsToSelector:. That'll allow you to gracefully degrade on old versions.

Set the base SDK to be always the latest, be it 7.0 or 7.1. Your app is compiled using that sdk and therefore newer SDK compatibility and functions are applied to your project.
setting Min Deployment target allows compiler to check for API methods compatibility with that OS version in mind.
Hope it clears up your doubts.

Related

Backward compatibility for iOS build SDKs

I would like to run old application which has a support of iOS 5.0 and less. It has a deployment target 5.0. The thing is that:
I have upgraded system to Yosemite OS 10.10 and lowest Xcode version I have 5.0. Now when I look on base SDK and I see below picture.
As you see the least build SDK shown s iOS 7.0. No other lower version is there.
I heard or I read some where that you can also use lower version SDK here. By copying SDKs to some where or any other means. I would like to know a better approach here.
Edit:
I have a requirement of one application which was developed in Xcode 4.6 for iOS 5.0. So that just to check that application flow I need to download Xcode 4.6. Is it so? Can we don't include older SDKs in newer version of Xcode?
You should not attempt to build your application with an old version of Xcode. The only version of Xcode supported on Yosemite is Xcode 6.1, which only ships with the iOS 8 SDK. You should build for the latest SDK, and set the Deployment Target to iOS 5 if you want your code to run there (by degrading gracefully using NSClassFromString and respondsToSelector: checks)

How can I make my iOS app backward compatible?

I've built an app for iOS 8 with xCode 6. The app is already on the app store. How can I make it available for people who are still using iOS 7 or even 6?
if you change iOS deployment target 8.0. then people has os lower then 8.0 not able to download this new version.
to available for them ,you have to set iOS deployment target to 6.0 or 7.0.

Difference between iOS SDK and simulator

I'm targeting iOS 5.1 with my app. I am running against the iPhone 5.1 Simulator, but I have noticed my project is listed as 1 target, iOS SDK 6.0.
The deployment target is listed as 5.1.
What is the difference between the SDK and simulator target? Should I be using a 5.1 SDK and if so how would I do this?
The SDK represents the API that you can use. The deployment target is the lowest version number that you're certifying that it will run on.
If the SDK and deployment target differ then you need to be careful that you don't use any APIs that are not available on older versions (or you disable that functionality if it's not there).

Changing the base SDK in Xcode

I am using Xcode 4.5. I developing an iOS app, I am targeting iOS 5.1.
I want to change the Base SDK to iOS 5.1, but it only displays iOS 6.
Where have all the others go?
You should always use the latest SDK. If you want to target older iOS versions, change the Deployment Target setting to the minimum iOS version you want to support.

how can I change ios sdk?

I want to change my iOS SDK. I have ios 5 and xcode 4.2 but I have to decrease it to iOS 4.2 SDK because of my application. In developer.apple.com the xcode 4.1 with iOS 5 so it is not available. How can I find xcode 4.1 with ios sdk 4.2 or how can I setup the ios sdk 4.2 without download xcode again. If it is not possible can you give me a linq for download xcode 4.1 with ios sdk 4.2
The base SDK should be the currently available one - it's the version of the SDK that you have installed to compile against.
However, further down the settings list you'll see that you can set the "Deployment Target" to be for lower versions iOS. That's the one that specifies the lower version of the OS that you app will run on.
Latest SDK included all required features from previous SDK versions. You shouldn't worry about it. If you want to support previous versions of iOS just set iOS Deployment Target to iOS 4.2 (or another would you like) in project settings at Build Settings tab.

Resources