Hi -
I'm blocked by a spurious error in XCode I can't shake, in an iOS/Catalyst app project in swift with swift packages.
The target has an iOS deployment version of 14.1, but XCode UI behaves like the target is set to 13.0:
The package product 'LIB' requires minimum platform version 14.0 for the iOS platform, but this target supports 13.0
The command line builds fine:
xcodebuild -configuration Release -scheme 'Study (iOS)'
# (also Debug config)
I'm sure I must be missing some configuration, but I have set the iOS/catalyst deployment version > 14 in project and target.
To confirm:
- I'm using the same target scheme in XCode UI as the command-line build
- I fail in the UI using any relevant target devices (i.e., over iOS 14, mac catalyst or ipad)
- The project selector clearly shows target 14.1 (project/Deployment target/iOS deployment target)
- The project/target UI clearly shows deployment target 14.1 (project view, 'Study (iOS)' target, iOS Deployment Target)
- Same result when using version 15.0 instead of 14.1
- Same result when disabling catalyst support and targeting iPad
- Same result with or without a derived mac catalyst product bundle identifier
- Same result for macOS targets 11..12.4
- 14.0 = macOS 11.0
- 15.0 = 12.0
- Same result after creating a new run scheme.
- Scanning all files in the project confirms these settings and does not show a relevant 13
- e.g., in "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" and
IPHONEOS_DEPLOYMENT_TARGET
- e.g., in "IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" and
- I'm running macOS 12.4, XCode 13.4 (13F17a), default 5.6 toolchain, with packages declaring 5.6 toolchain
- No external xcconfig files
- In the XCode UI, I've done clean builds and reset the package cache
- I've deleted XCode's Derived Data and restarted mac
- I'm also developing packages (and have cleaned .build and .swiftpm directories) but app package dependencies are pulling from remote repository (i.e., not using local packages)
So:
Any clue as to why XCode believes the target is 13 and not 14.1?
How I can debug this?
Is there some way XCode can indicate the target triplet and SDK and how it is derived?
Is the next step to recreate the project?
Thanks!