Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do Xcode 8 Swift 3 apps run on iOS 7 successfully?

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. enter image description here


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?

like image 661
user4806509 Avatar asked Jul 16 '16 18:07

user4806509


People also ask

Does iOS 7 still work?

You will still be able to make calls, play games, run apps and access the web using the device as long as no hardware failure occurs. It is just that your device will now be vulnerable to attacks and breaches as it will get no security updates. As time passes, iOS 15.6.

What version of Xcode do I need for SwiftUI?

To develop with SwiftUI we will need a minimum version of Xcode 11. Also, the devices where we want to run an application with SwiftUI will have to have versions equal to or higher than: iPhone/iPad iOS 13. MacBook macOS Catalina 10.15.

What versions of iOS does Xcode 13 support?

Xcode 13 includes SDKs for iOS 15, iPadOS 15, tvOS 15, watchOS 8, and macOS Big Sur 11.3. The Xcode 13 release supports on-device debugging for iOS 9 and later, tvOS 9 and later, and watchOS 2 and later. Xcode 13 requires a Mac running macOS 11.3 or later.


2 Answers

I would hesitate to draw too many conclusions from your empirical tests. Specifically, I would not assume just because you got it to run on iOS 7 that it is guaranteed to work on iOS 7. They appear to only be guaranteeing iOS 8+ support.

As an aside, Apple generally suggests supporting only one iOS version back, anyway. And, as of May 9th, only 5% of devices are running iOS 7 or earlier (and this is likely to be further reduced by the time iOS 10 is released).

like image 176
Rob Avatar answered Sep 24 '22 01:09

Rob


Do Xcode 8 Swift 3 apps run on iOS 7 successfully?

See Swift 3 iOS compatibility. Guaranteed iOS 8 support, unsure about iOS 7. See this answer on Swift 2 and iOS 7. The last comment states that Apple probably doesn't want you targeting iOS 7 anyways. If it doesn't work, it's probably not Swift that's the issue, but Xcode that is saying no.

What can I make of all the testing outcomes in the table above?

I'm not sure what you mean here.

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?

It's probably never safe to expect anything in which you are trying to work around Xcode.

Xcode 7.3.1 allows devices from iOS 7 through to iOS 9 for testing and debugging while in development?

And? Xcode 8 doesn't. iOS 7 through iOS 9 is two versions, iOS 8 through iOS 10 is two versions.

What is the point of Swift 2.3 as an intermediate step to Swift 3?

Because Swift 3 is such a major jump from Swift 2.2, they provide Swift 2.3 if you aren't ready to go to Swift 3 yet. However, they recommend going to Swift 3. Swift 3 also allows you to access some new features.

like image 37
tktsubota Avatar answered Sep 22 '22 01:09

tktsubota