When you update XCode, does it automatically update the sdks for your projects? - iphone

I'm trying to test my apps on my phone, but my phone is running iOS 8.2, and the sdks on my apps are 8.1
If I update my XCode, will it update the SDK of my app automatically?

If you look at the App Store page for Xcode 6.2 it says it includes SDKs for iOS 8.2. So you can re-build your app once you have the new Xcode.
I don't think I have ever needed to manually add SDKs for the latest iOS. I have had to add an SDK when I want to support an older version - like supporting iOS 7 with a new version of Xcode.

Related

How to upload Xcode project built in beta version?

I built project in Xcode 9 beta version. I want to upload to Appstore but projects built in beta version are not allowed in app store. What could be the possible solution ?
You have two options.
Build your project in Xcode 8.3.
Wait for Apple to allow developers to submit projects built with Xcode 9 to the App Store. This option should be available soon because Apple usually releases new iOS versions in mid-September.

Which XCode version supports iOS 4.3.5 sdk

My Mac OS X version is 10.6.8 and currently i am having XCode 3.2.5 installed with iOS 4.2 sdk.
I want to run my application on iOS 4.3.5 sdk simulator.
Which XCode version has supporting iOS 4.3.5 sdk?
Thanks!!!
You have a rather old version of Xcode. You should upgrade to Xcode 4.2 and get a new SDK. By default SDK 5 is used. However it is possible to download older SDKs.
Choose Xcode -> Preferences and then Downloads. Press the Componentsbutton and you will have access to support for older stuff. Select the components that you want to download in the list.
It is not possible to install the SDK separate from Xcode, according to this.
XCode => 3.2.6 should work. However, any XCode 4 version should work as well. You'll have to download the IOS4 SDK manually for those, as the current XCode Packages only include the IOS 5 SDK.

How can I build an application for iPhone OS 3.1.2 using the current Xcode?

I have an iPhone running the 3.1.2 firmware and would like to build applications for it. However, I can't find Xcode 3.2.1 with the iPhone OS 3.1.2 SDK at Apple's developer site.
How can I build an application using the current SDK and Xcode versions that will run on this older OS version?
Use the current tools and SDK. Set the "Base SDK" build setting to "Latest iOS" and set the "iOS Deployment Target" to whatever version you want to target, such as iOS 3.1.2.
The only gotcha here is that the compiler won't warn you if you use something from the SDK that was introduced after iOS 3.1.2, and if you do your app will likely crash. So, you'll want to check the docs for each method you use that you don't already know for certain is available in 3.1.2, and you should test your app thoroughly.
Unless there is some unmentioned reason you need the older version, you can use the latest Xcode and just target the build for the old iOS.
If you are a member of the Apple Developer Program (which you need to be in order to download any version of the Xcode and iOS SDK), you can download Xcode 3.2.6 w/ iOS SDK from the main 4.3 from the iOS Dev Center home page. Under the section for Xcode 4, there's a small line saying "Looking for Xcode 3? Download", which takes you to this download page.
Of course, that still requires you to develop using the 4.3 SDK, so you have to be carefull when targeting 3.1.2 devices.
You can purchase Xcode using the Mac-App-Store or by subscribing to the iPhone Developer Program ($99 per year).
Get the latest one (XCode with iOS SDK 4.3) and select 3.1.2 for the deployment iOS Version (under build-settings).

How to debug iOS app build with lower SDK on device with higher iOS

I'm using xCode 3.2.3 with 4.0 iOS SDK, but my iTouch has iOS 4.2 installed.
I could deploy and run Release version app on my iTouch, but when I try to debug app on device, the app is always running with nothing but black screen, without any response.
The problem is:
How to debug iOS app build with 4.0 SDK on device installed iOS 4.2?
If you go to Xcode's organizer you'll see that your device is actually not allowed to run the debug mode (with a development provision file), since your SDK version is lower than your device's OS. Apple just doesn't allow that to happen.
I assume that you want to keep your old SDK is because you want to check the compatibility with older OS. I would suggest you upgrade your Xcode and its SDK to the latest version (3.2.5/4.2.1) while testing your app on old and new OS devices.
Try installing the latest iOS SDK to another folder (mine is at /DeveloperBeta). That way you could continue developing and debugging using the new SDK, while still having the old SDK around to build for app submission.

Upgrading iOS SDK

I've XCode 3.2.3 with iOS SDK 4 installed in my iMac. I bought an iPhone 4 with OS version 4.0.2 and I would like to use that device for development. However the Organizer shows the message below when the device is connected.
The version of iPhone OS on “iPhone 4G” does not match any of the versions of iPhone OS supported for development with this installation of the iPhone SDK. Please restore the device to a version of the OS listed below, or update to the latest version of the iPhone SDK.
Currently my XCode supports Base SDK from 3.0 to 4.0.1.
So if I download the latest XCode 3.2.4 with iOS SDk 4.1, will I still have Base SDK support from 3.0 ?
Cheers
Jugs
No, XCode 3.2.4 does not come with SDK 3.0, it comes with SDK 3.2 and 4.1. But you don't need the 3.0 SDK to write apps that will run on 3.0.
There are two versions that are important to you as an iOS developer, and you need to understand them: first, there's SDK version that you link to, this is the Base SDK. It should normally be set to the newest SDK available.
And then, there's the Deployment Target. That is the earliest version your app needs to run on. This is the one you are actually caring about, this one ensures that your app will still run on earlier iOS devices.
To set that, go to "Project -> Edit Active Target". In the dialog, select the "Build" tab, make sure "Show" is set to "All Settings" and the type "deploy" in the search field. Scroll down to the "Deployment" section, the last entry should be "iOS Deployment Target". You need to set this to "iOS 3.0" or whatever suits you. You should now get warnings if you use methods or classes that are not available on 3.0.