You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TCA has a Perception library that is a backport of Observation to iOS 13. It has some @available checks like this:
@available(iOS, introduced:13, obsoleted:17, message:"Use @Bindable without the 'Perception.' prefix.")
When I change the minimum_os_version of the "iosapp" example target to "17.0" in the "tca_example", the build fails with the following errors (among many other like this):
external/rules_swift_package_manager~~swift_deps~swiftpkg_swift_perception/Sources/Perception/Bindable.swift:26:32: error: 'Bindable' is unavailable in iOS: Use @Bindable without the 'Perception.' prefix.
public var projectedValue: Bindable<Value> {
^~~~~~~~
external/rules_swift_package_manager~~swift_deps~swiftpkg_swift_perception/Sources/Perception/Bindable.swift:15:17: note: 'Bindable' was obsoleted in iOS 17
public struct Bindable<Value> {
This indicates that we are hitting this availability check.
When I download TCA directly and open up the Xcode project and update the deployment to 17.0, there are expected errors and once I fix those, the example app builds successfully. Looking at the .swiftmodule and .swiftsourceinfo output from Xcode, I see that these modules (Perception and its direct dependency XCTestOerlay) are built with the flag: -target arm64-apple-ios13.0-simulator while the rest of the app's modules are built with the flag: -target arm64-apple-ios17.0-simulator. Simply adding the flag in copts like so:
in the generated BUILD.bazel files gets farther (Perception builds fine), but the app build still eventually fails with very similar errors in the TCA library itself.
The text was updated successfully, but these errors were encountered:
TCA has a
Perception
library that is a backport ofObservation
to iOS 13. It has some@available
checks like this:@available(iOS, introduced: 13, obsoleted: 17, message: "Use @Bindable without the 'Perception.' prefix.")
When I change the
minimum_os_version
of the "iosapp" example target to "17.0" in the "tca_example", the build fails with the following errors (among many other like this):This indicates that we are hitting this availability check.
When I download TCA directly and open up the Xcode project and update the deployment to 17.0, there are expected errors and once I fix those, the example app builds successfully. Looking at the
.swiftmodule
and.swiftsourceinfo
output from Xcode, I see that these modules (Perception and its direct dependency XCTestOerlay) are built with the flag:-target arm64-apple-ios13.0-simulator
while the rest of the app's modules are built with the flag:-target arm64-apple-ios17.0-simulator
. Simply adding the flag incopts
like so:in the generated BUILD.bazel files gets farther (Perception builds fine), but the app build still eventually fails with very similar errors in the TCA library itself.
The text was updated successfully, but these errors were encountered: