Xcode26 any experiences / problems ?
-
any experiences / problems with Qt or QtCreator and Xcode26.0.1 ?
I'm on ...
- macOS 15.6.1
- Xcode 16.4
- 15 customer projects (Mobile Business Apps, Android, iOS) currently on Qt 15.5 (because of QML Camera), 6.7.1 or 6.9.2 w QMake / CMake
- QtCreator 17.0.1
In the past there were often problems with Xcode .0 versions.
Read that Xcode 26.1 is in beta and expected to be available end of october.
so I've planned to update then to 26.1.curios to hear about your experiences or problems with Xcode 26
-
There have been some changes in the macOS 26 SDK that affect Qt:
Apple removed the AGL framework https://bugreports.qt.io/browse/QTBUG-137687 which Qt so far depended on. That's fixed in 6.5.10, 6.8.4, 6.9.2+ though the patch (https://codereview.qt-project.org/c/qt/qtbase/+/652022) probably is easily applied to other versions too.
Building against macOS 26 SDK automatically turns on the Liquid Glass UI by default. https://bugreports.qt.io/browse/QTBUG-138942 . Various issues with that have been fixed in 6.5.11, 6.8.5, 6.10.0 . If you want earlier Qt versions but still build with the macOS 26 SDK, you should set UIDesignRequiresCompatibility in the application's Info.plist to make it use the old UI.
-
thx. very helpful info
-
The big question is what you actually want to support. Xcode is one thing and the macOS/iOS SDK is the other. If you compile with the most current SDK your apps will only work on Macs and iPhones that have the most current version of the OS installed. If you want to support older versions of the OS as well (maybe the last two versions?) you need to keep the older SDK for compilation. If you know that beforehand you should rename the MacSDK folder of your Xcode installation. Otherwise it will be overwritten (and you have to manually download the SDK again). The actual version of Xcode (not the SDK) should not matter.
-
The big question is what you actually want to support. Xcode is one thing and the macOS/iOS SDK is the other. If you compile with the most current SDK your apps will only work on Macs and iPhones that have the most current version of the OS installed. If you want to support older versions of the OS as well (maybe the last two versions?) you need to keep the older SDK for compilation. If you know that beforehand you should rename the MacSDK folder of your Xcode installation. Otherwise it will be overwritten (and you have to manually download the SDK again). The actual version of Xcode (not the SDK) should not matter.
@SimonSchroeder said in Xcode26 any experiences / problems ?:
If you compile with the most current SDK your apps will only work on Macs and iPhones that have the most current version of the OS installed. If you want to support older versions of the OS as well (maybe the last two versions?) you need to keep the older SDK for compilation.
That is not true. Apple is actually pretty good with allowing to compile your application compatible with a range of macOS/iOS versions while compiling against the latest SDK (which you need to do to support the newest APIs there).
To support older macOS/iOS versions, compile with the "-mmacosx-version-min=<minimum_version_that_you_want_to_support>" compiler option. With CMake set the CMAKE_OSX_DEPLOYMENT_TARGET CMake variable to make it pass that to the compiler.
-
@SimonSchroeder said in Xcode26 any experiences / problems ?:
If you compile with the most current SDK your apps will only work on Macs and iPhones that have the most current version of the OS installed. If you want to support older versions of the OS as well (maybe the last two versions?) you need to keep the older SDK for compilation.
That is not true. Apple is actually pretty good with allowing to compile your application compatible with a range of macOS/iOS versions while compiling against the latest SDK (which you need to do to support the newest APIs there).
To support older macOS/iOS versions, compile with the "-mmacosx-version-min=<minimum_version_that_you_want_to_support>" compiler option. With CMake set the CMAKE_OSX_DEPLOYMENT_TARGET CMake variable to make it pass that to the compiler.
@ziller said in Xcode26 any experiences / problems ?:
compiling against the latest SDK (which you need to do to support the newest APIs there).
thx verifying. matching my expectations.
@ziller said in Xcode26 any experiences / problems ?:
With CMake set the CMAKE_OSX_DEPLOYMENT_TARGET CMake variable
if I understood it right, without setting this variable, Qt is using iOS 16 as minimum if building with Xcode 16.4 and iOS 18 SDK on Qt 6.9.x from QtCreator 17.x
My question now: when updating Xcode to Xcode 26.x and iOS SDK 26 will this work out of the box for building Qt 6.9 / 6.10 projects from QtC 17.x and iPhones running iOS 18 or iOS 26 ?
ATM I'm still on Xcode 16.4 and iPhones/iPads on iOS 18.7.1