Do Xcode 8 Swift 3 apps run on iOS 7 successfully?
I've tried to determine this running a few tests described below, but can an expert with a better understanding of App Store development please help explain the reasons for the successes and failures including the questions below?
Test 1.
So I've opened up Xcode 7.3.1 and created an app with Swift 2.2. I'm intending to deploy the app from iOS 7 through to iOS 10.
I run the app on the iOS 9.3 iPhone simulator with success and then run the app on an actual iOS 7.1.2 iPhone device with success also.
Test 2.
Next, I've taken the same project and opened it in Xcode 8 Beta 2. (I was prompted to update to either Swift 2.3 or Swift 3. I update to Swift 2.3 then later to Swift 3.)
After entering the iOS Target Deployment as 7.0 manually, I run the the app on the iOS 10 Beta 2 iPhone simulator with success. However, I then try to run the app on an actual iOS 7.1.2 iPhone device but no success this time, the below error is displayed. I repeat the test with Swift 2.3 and Swift 3 with the same error:
Could not locate device support files
This iPhone 4S is running iOS 7.1.2 (11D257), which may not be supported by this version of Xcode.
Test 3.
So next I try installing the .ipa app file created in Xcode 8 Beta 2 directly to the actual iOS 7.1.2 iPhone device via iTunes after getting an archive of the app (Product > Archive …)
After the .ipa app file is completed transferring to the iOS 7.1.2 iPhone device via iTunes, I then launch the app on the actual device, this time with success.
Results.
Questions:
What can I make of all the testing outcomes in the table above?
Importantly, when it comes time to distributing the app through the App Store created in Xcode 8 with Swift 3, is it safe to expect that the app, which installed successfully via iTunes on an iOS 7.1.2 iPhone device, will still be compatible for all iOS 7 devices when downloaded at the App Store?
Xcode 7.3.1 allows devices from iOS 7 through to iOS 9 for testing and debugging while in development?
Xcode 8 does not allow iOS 7 devices for testing and debugging while in development but still allows deployment of apps to iOS 7 devices?
What is the point of Swift 2.3 as an intermediate step to Swift 3?