When trying to test a Catalyst application with XCTest the application crashes at startup with Symbol not found
error when certain frameworks are in use. This is caused by XCTest / Xcode adding /Applications/Xcode.app/Contents/SharedFrameworks
to DYLD_FRAMEWORK_PATH
causing dyld to load the macOS specific framework variant of for example RealityKit
instead from /System/iOSSupport/System/Library/Frameworks
as defined in the load commands.
Which leads to symbol mismatches, for example ARView.Environment.Color
is a UIColor
on Mac Catalyst but an NSColor
on macOS (_$s10RealityKit6ARViewC11EnvironmentV10BackgroundV5coloryAGSo7UIColorCFZ
vs. _$s10RealityKit6ARViewC11EnvironmentV10BackgroundV5coloryAGSo7NSColorCFZ
)
Tried prepending /System/iOSSupport/System/Library/Frameworks
to the DYLD_FRAMEWORK_PATH
env var of the test target, but via some private frameworks still wrong framework variants were loaded.
Any ideas for possible fixes or workarounds?