Wikipedia said that the minimum iOS Deployment Target for Xcode 6's was iOS 7. I just checked, with XCode 6 GM listed on the page now, the minimum iOS Deployment Target has been changed to iOS 5.1.1.
I do need to support iOS 6.0, and would like to confirm this with official Xcode document. I searched and could not find this particular information. Can someone share the link to an official document that mentions this? Thanks.
Xcode 6 supports a deployment target back to 4.3. Of course It doesn't support any simulators that old. You would need to test on real devices.
You will have no problem supporting back iOS 6 with Xcode 6 but you will need real devices with iOS 6 to test your app properly.
I don't have a link to a document but all you need do is set the project's Deployment Target to iOS 6.0 and you will have your proof.
Xcode 6 doesn't seem to even see my iPad 1. Although the deployment target is set to 5.1, the popup only shows 6.0 as the minimum in the popup.
Related
In earlier versions of Xcode I could set the base SDK to the current iOS version and the deployment target to an earlier version as shown in the below slide from the iOS 7 TechTalk, session Architecting Modern Apps, Part 2:
This Stack Overflow question elaborates nicely on the Base SDK vs Deployment target.
What's the meaning of Base SDK, iOS deployment target, Target, and Project in xcode
However, now when I look at the base SDK config field in Xcode I just see "iOS" (which is an alias of "iphoneos").
According to https://developer.apple.com/ios/submit/
Starting March 2019, all iOS apps submitted to the App Store will need
to be built with the iOS 12.1 SDK or later, and support the all-screen
design of iPhone XS Max or the 12.9-inch iPad Pro (3rd generation).
This worries me because it seems that I can no longer target older versions of iOS.
I've done a lot of research by I cannot seem to work out definitively whether there still a way to use the 12.1 SDK but target older versions of iOS. Is there a way to do this?
The base SDK is just "iOS". The exact version will depend on your version of Xcode (12.1 if you are using Xcode 10.1). The base SDK does not determine which versions of iOS are supported by your app.
You set the minimum version your app is compatible with by specifying the "iOS deployment target", either for your project as a whole:
or in the settings for a specific target in your project
The oldest version of iOS that you can target with Xcode 10 is iOS 8 (which is pretty old).
BTW, you can see or select the Base SDK you are using, in the Xcode Preferences/Locations:
I downloaded ios 10.3.1 version in xcode 9.4
But I only can select the ios 11 version I already have.
I rebooted OS and restarted Xcode already. I also can see ios 10 simulator when I select "add additional simulators"
There are ios10, 11 simulator both of them. I don't know how to use ios 10 simulators in xcode that I already downloaded.
Change Deployment Target from iOS 11.x to iOS 10.x
(Xcode shows simulator in a device list with iOS version >= Deployment Target.)
If I understand your problem correctly, changing Deployment target should help. It can be found in General section of settings shown when you first launch the app.
To use that the project compatibility should be lesser. That means the Deployment target in your app should be from iOS 10.
Go to project target settings. Deployment target --> 10.x
As the previous answers didn't help me, I'll describe my solution.
The deployment target doesn't always solve the problem, as well as creating a new scheme. The simulators don't appear automatically.
Press Add Additional Simulators
Choose Simulators tab
Create a new device simulator. Choose Device Type and OS Version whichever available
Your simulator should appear
At a loss here. I have to test an app on iphone 4 devices as well as newer ones. Can anyone advise me as to how to set Xcode 9 up to support ios 7 as a deployment target as well as up to the newer versions of ios? So that I can use iphone 4 simulator and later test on the iphone 4 device?
Can anyone advise me as to how to set Xcode 9 up to support ios 7 as a deployment target as well as up to the newer versions of ios?
The advice is simple: You can't. (Okay, maybe you can, with some sort of elaborate hacking; but don't.)
There's no problem running multiple versions of Xcode, so use an earlier version of Xcode to test on iOS 7. This will be tricky, because your project may not be easily backward compatible from Xcode 9 to an earlier version of Xcode, but it's your best hope. (Either that, or do what Apple really wants you to do: abandon backward compatibility beyond iOS 8.)
Since iOS 9, Apple has stopped support of iPhone 4S.
To work with iPhone 4S with Xcode 9, you need to set Deployment Target for your build (TARGET) below iOS 9.0
Follow these steps to work with iPhone 4S with Xcode 9:
Select your Project (Root) >> TARGET >> Tab 'General'
Set 'Deployment Target' to 8.4
.
Now open Simulator List, You can see, iPhone-4S is there to work with it.
I suggest to work with latest stable version of iOS (iOS 10).
Using latest xcode, you do not need to worry about supporting latest iOS version even if you choose lower deployment target which determines the app's backward compatibility.
It is a good idea to support the backward compatibility as far as your code is not depending on latest APIs and frameworks. The only reason for backward compatibility is to maximize the user base as not everyone (specially elders) update their iOS version regularly.
WARNING:
If you choose lowest possible deployment target (8.0), some newer features and frameworks won't be able to behave as expected which increases the chances of app crashes in older iOS versions.
Currently, we are using Xcode 10.1. AND Xcode 10.1 supports iPhone4s.
(Please don’t confuse Xcode version (10.1) with the (iOS 10.1).
Xcode is an IDE which can have backward iOS SDK support.
The latest iOS we updated on our iPhone4s is 9.3.5
To test your code on device, you can simply connect an iPhone4s or you can download a simulator with iPhone4s support (9.0 or so)
To download additional simulators you can go to xcode > preferences > components Once the simulator is installed, the option for iPhone 4s would be available for testing.
TIP: We have been using Deploymate for maximum backward compatibility and support. It warns us about deprecated methods and this is where you start modifying your code to support the lowest iOS version with confidence.
I am developing an iOS app for iOS 6.0 and higher. Now, after updating Xcode from Mac App Store, I am told that "An iOS Deployment Target earlier than 8.0 is not supported by this version of Xcode.". So, it seems that I need to use another version of Xcode to develop this app.
I can download other versions of Xcode from https://developer.apple.com/download/more/. What is the highest version of Xcode that supports iOS 6.0 as the deployment target?(I just mean the deployment target, not the capability of installing iOS 6.0 simulator.) I don't want to download many Xcode versions to find that.
You can use latest Xcode for this do not select deployment target from dropdown, just manually input "6.0" in the "iOS Deployment Target" text box.
For more details you can go through here.
I have also upload one of my app that use iOS 7.0 from latest Xcode.
iOS 6 is supported in Xcode 7.x .
My suggestion is that,you may need to provide support for just 2 of previous versions of iOS 10, ie. iOS 8 and 9. If you take a look at the usage graph, it is evident that only 6% are using versions earlier than 9. That too, will have major contributions from iOS 8 and 7.
I'm hesitant about Deployment target in xCode.
my question : can my application run on iOS 3, 4, 5, 6 if I select on Deployment target 4.3 ?
I can't test my application on an iPhone because I don't have it but I think the application can only run on IOS 4.3 or later
sorry for my bad english
If you use iOS 4.3 as deployment target, that will be the minimum version supported by your app. So, no, it won't run in iOS 3.0 for instance.
Also, you'll need to detect features not present in the iOS actually running the app and program them conditionally.
I'd suggest supporting iOS 5 or better. And definitely forgetting about iOS 3.
That is correct. The Deployment Target is the earliest version of iOS that your application will support.
Note, however, that if you use an API call from your current SDK (4.3) that is not present in the 3.0 SDK, your application will crash on devices running iOS 3.0.
So even though you can set the Deployment Target to 3.0, that will not guarantee that your app will work on an iOS 3 device.
See the Apple Developer documentation for more details.