Xcode 10.1 for app deployment on iOS 12.2?

Does anyone know if Xcode 10.1 can still be used for app production deployment on latest iOS 12.2 release?

I am working on an older MacBook Air (High Sierra) which cannot be upgraded to run macOS Mojave.

The latest Xcode version 10.2 can only be installed on a Mac with Mojave running.


Before I update my development iPhone to iOS 12.2, I would like to know if I can stiil continue to develop with XCode 10.1 and then install on my development device running iOS 12.2.


Any help is much appreciated.

Replies

I would not expect Xcode 10.1 to know what to do w/iOS 12.2 proper.

It shouldn’t come as a surprise that executables built with Xcode 10.1 can be run on iOS 12.2; that’s what all current App Store apps are doing. However, you are going to run into practical problems:

  • Xcode 10.1 can’t use the iOS 12.2 SDK, so you won’t be able to use any newly-added APIs. I haven’t had a chance to take an in-depth look at the iOS 12.2 SDK yet, so I don’t know if that’s a significant issue.

  • Xcode 10.1 won’t be able to install, test, or debug on an iOS 12.2 device. Once you update your test device to iOS 12.2, you won’t be able to do on-device (automated) testing or debugging. You can still do manual testing by building an

    .ipa
    and installing that using iTunes.
  • Eventually App Review will require that apps be built with the iOS 12.2 (or later) SDK [1], at which point you won’t be able to submit your app to the store.

So, for the short term you should be OK. However, this situation is going to be untenable in the long term )-:

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

[1] There’s no announced timeline for this yet but, just as a data point, App Review starting requiring the iOS 12 SDK a few days ago.

Can't you just drag the device platform files into the appropriate folder within XCode 10.1? I hate when they suddenly start requiring the next whole OS version to debug on your phone, during a minor update like 12.1 -> 12.2. I always get burned by that.

Can't you just drag the device platform files into the appropriate folder within XCode 10.1?

Regardless of whether this works or not, it’s not a supported configuration and hence not something I’d recommend.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

I am struggling to find a solution to this problem too. XCODE 10.1 has a maximum deployment target of 12.1 and as of my updating my ios device to 12.2, xcode will no longer install to my ios device. It is impossible to "downgrade" ios to a previous version so it seems that only a patch or an update to xcode will solve this problem.

Dragging the device platform files over to XCode 10.1 worked for me. It's not a supported configuration -- but we wouldn't have to do it if Apple showed more care about when they were going to require people to switch to a whole nother operating system,

If you google it you will find the answer easily enough. I think these forums are kind of jerky about posting links, but I am looking at a SO post entitled "Xcode Missing Support Files iOS 12.2 (16E227)" which answers it. There are some others out there too.

But basically I think you just download the right platform files and copy them to /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

Look at my answer, it works fine. I used 10.1 to deploy to my 12.2 phone yesterday.

THX!

dragged iPhoneOS.Platform > Device Spport >12.2 folders over into Xcode 10.1. , but in Xcode AppName>General>Deployment Info only shows"12.1" as a latest entry. Any further actions required? Terminal etc?


Maybe there is something to do with the simulator folder´s deployment, too, or so?


Folders of Mine from Xcode 10.2 have some extension "12.2 (16E226)". Change to "12.2" only before integrating into xcode 10.1?



THX!

BX

Well, I don't know about the deployment target, that might not go any higher than 12.1. Do you really need a 12.2 target? My deployment target is iOS 8 - I always want to target the widest range of devices possible .I thought you just wanted to test apps on your 12.2 phone. If you actually want to use features that are only in 12.2, it might not work.

My friends, i could compile an application written with Qt under 10.13.6 and run it on the newly upgraded ios 12.4.6 without any problems.

you need to export the following variables, which tell the linker to use sdk 12.1



####### Custom Variables

EXPORT_QMAKE_MAC_SDK = iphoneos

EXPORT_QMAKE_MAC_SDK_VERSION = 12.1

EXPORT_QMAKE_XCODE_DEVELOPER_PATH = /Applications/Xcode.app/Contents/Developer

EXPORT_VALID_ARCHS = arm64 x86_64

EXPORT_ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))

EXPORT_ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))

EXPORT_QMAKE_XARCH_CFLAGS = $(EXPORT_QMAKE_XARCH_CFLAGS_arm64) $(EXPORT_QMAKE_XARCH_CFLAGS_x86_64)

EXPORT_QMAKE_XARCH_LFLAGS = $(EXPORT_QMAKE_XARCH_LFLAGS_arm64) $(EXPORT_QMAKE_XARCH_LFLAGS_x86_64)

EXPORT_QMAKE_XARCH_CFLAGS_arm64 = -Xarch_arm64 -miphoneos-version-min=11.0 -Xarch_arm64 -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk

EXPORT_QMAKE_XARCH_LFLAGS_arm64 = -Xarch_arm64 -miphoneos-version-min=11.0 -Xarch_arm64 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk

EXPORT_QMAKE_XARCH_CFLAGS_x86_64 = -Xarch_x86_64 -mios-simulator-version-min=11.0 -Xarch_x86_64 -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk

EXPORT_QMAKE_XARCH_LFLAGS_x86_64 = -Xarch_x86_64 -mios-simulator-version-min=11.0 -Xarch_x86_64 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk