UIDefines.h breaking tvOS on 26 in Tahoe

We have an app that optionally includes UIKit, and in Xcode 16.3 it builds just fine, but with Xcode 26 it fails because it cannot find UIDefines.h.

Error: /Applications/Xcode-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS26.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKitDefines.h:10:9: fatal error: 'UIUtilities/UIDefines.h' file not found

I looked for it, and inside of Xcode 26 there is a new folder(SubFrameworks) inside of the TV Simulator that does not exist in 18 and it only has one thing in that folder and it's UIUtilities.framework.

Reference path: /Applications/Xcode-beta.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/System/Library/SubFrameworks/UIUtilities.framework/

Not sure how to get around this except to put in a bunch of new ifdefines maybe to deal with it, but it is weird that the subframeworks file is part of the issue. Anyone have any ideas besides copying the files over (doesn't work anyway)?

Could you provide more information about what the failing compiler invocation looks like? The Xcode 26 compilers should automatically find UIUtilities.framework if there is an entry for the SDK, with either -sdk for Swift compilations or -isysroot for Clang compilations. Another thing to inspect is your search path options. For example, if you disable implicit system search paths, you would need to add $(SDKROOT)/System/Library/SubFrameworks as a search path.

When inspecting the compiler invocations in Xcode, it may be useful to use the following build settings to get the full invocations in the report navigator.

CLANG_USE_RESPONSE_FILE=NO USE_SWIFT_RESPONSE_FILE=NO EMIT_FRONTEND_COMMAND_LINES=YES
UIDefines.h breaking tvOS on 26 in Tahoe
 
 
Q