The Swift Package Index logo.Swift Package Index

Build Information

Failed to build CurrencyField, reference main (c75652), with Swift 6.4 for watchOS using Xcode 27.0 on 22 Sep 2026 20:25:32 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme CurrencyField -destination generic/platform=watchOS

Build Log

106 |         weak var textField: UITextField?
    |                             `- error: 'UITextField' is unavailable in watchOS
107 |
108 |         init(_ parent: CurrencyFieldView) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:121:56: error: 'UITextField' is unavailable in watchOS
119 |
120 |         /// Supports Return key on iPad / hardware keyboards.
121 |         public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                        `- error: 'UITextField' is unavailable in watchOS
122 |             textField.resignFirstResponder()
123 |             return true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:100:47: error: 'UITextFieldDelegate' is unavailable in watchOS
 98 |     // MARK: - Coordinator
 99 |
100 |     public final class Coordinator: NSObject, UITextFieldDelegate {
    |                                               `- error: 'UITextFieldDelegate' is unavailable in watchOS
101 |
102 |         /// Back-reference to the SwiftUI wrapper.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:16:34: error: cannot find type 'UIViewRepresentable' in scope
 14 | /// - On iPhone, `.numberPad` has no Return key → the toolbar provides a way to dismiss.
 15 | /// - On iPad/hardware keyboard, Return is supported via `textFieldShouldReturn`.
 16 | public struct CurrencyFieldView: UIViewRepresentable {
    |                                  `- error: cannot find type 'UIViewRepresentable' in scope
 17 |
 18 |     // MARK: - API surface (SwiftUI-facing)
Failed frontend command:
SwiftCompile normal arm64_32 (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift -target arm64_32-apple-watchos9.0 -module-can-import-version SwiftUI 8.0.84.1 8.0.84 -module-can-import-version UIKit 9127.0.84.1 9127.0.84 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-dependencies-1.json -enable-objc-interop -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name CurrencyField -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField_const_extract_protocols.json -disable-clang-spi -clang-target arm64_32-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField.abi.json
SwiftCompile normal arm64_32 Compiling\ CurrencyFieldView.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift (in target 'CurrencyField' from project 'CurrencyField')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CurrencyFieldView.swift
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:33:40: error: 'label' is unavailable in watchOS
 31 |
 32 |     /// Pass-through appearance knobs (forward to `CurrencyField` if desired).
 33 |     public var borderColor: UIColor = .label
    |                                        `- error: 'label' is unavailable in watchOS
 34 |     public var borderRadius: CGFloat = 8
 35 |     public var borderWidth: CGFloat = 1
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:60:37: error: cannot find type 'Context' in scope
 58 |
 59 |     /// Creates and configures the UIKit text field.
 60 |     public func makeUIView(context: Context) -> CurrencyField {
    |                                     `- error: cannot find type 'Context' in scope
 61 |         let currencyField = CurrencyField()
 62 |         currencyField.translatesAutoresizingMaskIntoConstraints = false
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:84:60: error: cannot find type 'Context' in scope
 82 |
 83 |     /// Keeps UIKit and SwiftUI in sync on every update.
 84 |     public func updateUIView(_ tf: CurrencyField, context: Context) {
    |                                                            `- error: cannot find type 'Context' in scope
 85 |         if tf.locale.identifier != locale.identifier { tf.locale = locale }
 86 |         if tf.maximum != maximum { tf.maximum = maximum }
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:106:29: error: 'UITextField' is unavailable in watchOS
104 |
105 |         /// Weak ref to the concrete text field so we can call `resignFirstResponder()`.
106 |         weak var textField: UITextField?
    |                             `- error: 'UITextField' is unavailable in watchOS
107 |
108 |         init(_ parent: CurrencyFieldView) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:121:56: error: 'UITextField' is unavailable in watchOS
119 |
120 |         /// Supports Return key on iPad / hardware keyboards.
121 |         public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                        `- error: 'UITextField' is unavailable in watchOS
122 |             textField.resignFirstResponder()
123 |             return true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:100:47: error: 'UITextFieldDelegate' is unavailable in watchOS
 98 |     // MARK: - Coordinator
 99 |
100 |     public final class Coordinator: NSObject, UITextFieldDelegate {
    |                                               `- error: 'UITextFieldDelegate' is unavailable in watchOS
101 |
102 |         /// Back-reference to the SwiftUI wrapper.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
SwiftCompile normal arm64_32 Compiling\ CurrencyField.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift (in target 'CurrencyField' from project 'CurrencyField')
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:21:40: error: 'label' is unavailable in watchOS
 19 |
 20 |     /// Border color applied to the field’s layer.
 21 |     public var borderColor: UIColor = .label {
    |                                        `- error: 'label' is unavailable in watchOS
 22 |         didSet { applyBorder(color: borderColor) }
 23 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:60:41: error: 'NSLayoutConstraint' is unavailable in watchOS
 58 |
 59 |     /// Internal height constraint installed on `heightAnchor`.
 60 |     private var heightLayoutConstraint: NSLayoutConstraint?
    |                                         `- error: 'NSLayoutConstraint' is unavailable in watchOS
 61 |
 62 |     /// Intrinsic content size honoring `preferredHeight`.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
    |            `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string.  The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:52: error: 'UITextRange' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                    `- error: 'UITextRange' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:69: error: 'UITextSelectionRect' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                                     `- error: 'UITextSelectionRect' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 |  * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
    |            `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:91:50: error: 'UITextPosition' is unavailable in watchOS
 89 |
 90 |     /// Keep caret at the end unless composing with an IME.
 91 |     public override func caretRect(for position: UITextPosition) -> CGRect {
    |                                                  `- error: 'UITextPosition' is unavailable in watchOS
 92 |         if markedTextRange != nil { return super.caretRect(for: position) }
 93 |         return super.caretRect(for: endOfDocument)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:97:44: error: 'UITextRange' is unavailable in watchOS
 95 |
 96 |     /// Force selection to the end unless composing with an IME.
 97 |     public override var selectedTextRange: UITextRange? {
    |                                            `- error: 'UITextRange' is unavailable in watchOS
 98 |         get { super.selectedTextRange }
 99 |         set {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:63: error: 'UITraitCollection' is unavailable in watchOS
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                                                               `- error: 'UITraitCollection' is unavailable in watchOS
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:23:12: note: 'UITraitCollection' has been explicitly marked unavailable here
 21 |
 22 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
 23 | @interface UITraitCollection : NSObject <NSCopying, NSSecureCoding>
    |            `- note: 'UITraitCollection' has been explicitly marked unavailable here
 24 |
 25 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:26: error: cannot override 'traitCollectionDidChange' which has been marked unavailable
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                          |- error: cannot override 'traitCollectionDidChange' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'traitCollectionDidChange'
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:221:1: note: 'traitCollectionDidChange' has been explicitly marked unavailable here
219 |
220 | /*! To be overridden as needed to provide custom behavior when the environment's traits change. */
221 | - (void)traitCollectionDidChange:(nullable UITraitCollection *)previousTraitCollection API_DEPRECATED("Use the trait change registration APIs declared in the UITraitChangeObservable protocol", ios(8.0, 17.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'traitCollectionDidChange' has been explicitly marked unavailable here
222 | @end
223 |
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CurrencyField.swift
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:232:52: error: 'UITextField' is unavailable in watchOS
230 |
231 |     /// Allow Return to dismiss the keyboard on iPad / hardware keyboards.
232 |     public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                    `- error: 'UITextField' is unavailable in watchOS
233 |         print(#function)
234 |         resignFirstResponder()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:35: error: 'UITextField' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                   `- error: 'UITextField' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:48: error: 'UITextFieldDelegate' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                                `- error: 'UITextFieldDelegate' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:290:23: error: 'UITextField' is unavailable in watchOS
288 | // MARK: - Utilities (scoped to this target)
289 |
290 | fileprivate extension UITextField {
    |                       `- error: 'UITextField' is unavailable in watchOS
291 |     /// Safe access to current text string.
292 |     var string: String { text ?? "" }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:318:23: error: 'UIView' is unavailable in watchOS
316 | }
317 |
318 | fileprivate extension UIView {
    |                       `- error: 'UIView' is unavailable in watchOS
319 |     /// Apply a corner radius and enable clipping.
320 |     func applyBorder(radius: CGFloat) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'UIToolbar' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'UIToolbar' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
   |            `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'init()' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'init()' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
SwiftCompile normal arm64 Compiling\ CurrencyField.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift (in target 'CurrencyField' from project 'CurrencyField')
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:21:40: error: 'label' is unavailable in watchOS
 19 |
 20 |     /// Border color applied to the field’s layer.
 21 |     public var borderColor: UIColor = .label {
    |                                        `- error: 'label' is unavailable in watchOS
 22 |         didSet { applyBorder(color: borderColor) }
 23 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:60:41: error: 'NSLayoutConstraint' is unavailable in watchOS
 58 |
 59 |     /// Internal height constraint installed on `heightAnchor`.
 60 |     private var heightLayoutConstraint: NSLayoutConstraint?
    |                                         `- error: 'NSLayoutConstraint' is unavailable in watchOS
 61 |
 62 |     /// Intrinsic content size honoring `preferredHeight`.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
    |            `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string.  The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:52: error: 'UITextRange' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                    `- error: 'UITextRange' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:69: error: 'UITextSelectionRect' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                                     `- error: 'UITextSelectionRect' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 |  * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
    |            `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:91:50: error: 'UITextPosition' is unavailable in watchOS
 89 |
 90 |     /// Keep caret at the end unless composing with an IME.
 91 |     public override func caretRect(for position: UITextPosition) -> CGRect {
    |                                                  `- error: 'UITextPosition' is unavailable in watchOS
 92 |         if markedTextRange != nil { return super.caretRect(for: position) }
 93 |         return super.caretRect(for: endOfDocument)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:97:44: error: 'UITextRange' is unavailable in watchOS
 95 |
 96 |     /// Force selection to the end unless composing with an IME.
 97 |     public override var selectedTextRange: UITextRange? {
    |                                            `- error: 'UITextRange' is unavailable in watchOS
 98 |         get { super.selectedTextRange }
 99 |         set {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:63: error: 'UITraitCollection' is unavailable in watchOS
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                                                               `- error: 'UITraitCollection' is unavailable in watchOS
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:23:12: note: 'UITraitCollection' has been explicitly marked unavailable here
 21 |
 22 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
 23 | @interface UITraitCollection : NSObject <NSCopying, NSSecureCoding>
    |            `- note: 'UITraitCollection' has been explicitly marked unavailable here
 24 |
 25 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:26: error: cannot override 'traitCollectionDidChange' which has been marked unavailable
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                          |- error: cannot override 'traitCollectionDidChange' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'traitCollectionDidChange'
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:221:1: note: 'traitCollectionDidChange' has been explicitly marked unavailable here
219 |
220 | /*! To be overridden as needed to provide custom behavior when the environment's traits change. */
221 | - (void)traitCollectionDidChange:(nullable UITraitCollection *)previousTraitCollection API_DEPRECATED("Use the trait change registration APIs declared in the UITraitChangeObservable protocol", ios(8.0, 17.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'traitCollectionDidChange' has been explicitly marked unavailable here
222 | @end
223 |
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CurrencyField.swift
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:232:52: error: 'UITextField' is unavailable in watchOS
230 |
231 |     /// Allow Return to dismiss the keyboard on iPad / hardware keyboards.
232 |     public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                    `- error: 'UITextField' is unavailable in watchOS
233 |         print(#function)
234 |         resignFirstResponder()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:35: error: 'UITextField' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                   `- error: 'UITextField' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:48: error: 'UITextFieldDelegate' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                                `- error: 'UITextFieldDelegate' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:290:23: error: 'UITextField' is unavailable in watchOS
288 | // MARK: - Utilities (scoped to this target)
289 |
290 | fileprivate extension UITextField {
    |                       `- error: 'UITextField' is unavailable in watchOS
291 |     /// Safe access to current text string.
292 |     var string: String { text ?? "" }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
SwiftEmitModule normal arm64 Emitting\ module\ for\ CurrencyField (in target 'CurrencyField' from project 'CurrencyField')
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:21:40: error: 'label' is unavailable in watchOS
 19 |
 20 |     /// Border color applied to the field’s layer.
 21 |     public var borderColor: UIColor = .label {
    |                                        `- error: 'label' is unavailable in watchOS
 22 |         didSet { applyBorder(color: borderColor) }
 23 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:60:41: error: 'NSLayoutConstraint' is unavailable in watchOS
 58 |
 59 |     /// Internal height constraint installed on `heightAnchor`.
 60 |     private var heightLayoutConstraint: NSLayoutConstraint?
    |                                         `- error: 'NSLayoutConstraint' is unavailable in watchOS
 61 |
 62 |     /// Intrinsic content size honoring `preferredHeight`.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
    |            `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string.  The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:52: error: 'UITextRange' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                    `- error: 'UITextRange' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:69: error: 'UITextSelectionRect' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                                     `- error: 'UITextSelectionRect' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 |  * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
    |            `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:91:50: error: 'UITextPosition' is unavailable in watchOS
 89 |
 90 |     /// Keep caret at the end unless composing with an IME.
 91 |     public override func caretRect(for position: UITextPosition) -> CGRect {
    |                                                  `- error: 'UITextPosition' is unavailable in watchOS
 92 |         if markedTextRange != nil { return super.caretRect(for: position) }
 93 |         return super.caretRect(for: endOfDocument)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:97:44: error: 'UITextRange' is unavailable in watchOS
 95 |
 96 |     /// Force selection to the end unless composing with an IME.
 97 |     public override var selectedTextRange: UITextRange? {
    |                                            `- error: 'UITextRange' is unavailable in watchOS
 98 |         get { super.selectedTextRange }
 99 |         set {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:63: error: 'UITraitCollection' is unavailable in watchOS
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                                                               `- error: 'UITraitCollection' is unavailable in watchOS
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:23:12: note: 'UITraitCollection' has been explicitly marked unavailable here
 21 |
 22 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
 23 | @interface UITraitCollection : NSObject <NSCopying, NSSecureCoding>
    |            `- note: 'UITraitCollection' has been explicitly marked unavailable here
 24 |
 25 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:26: error: cannot override 'traitCollectionDidChange' which has been marked unavailable
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                          |- error: cannot override 'traitCollectionDidChange' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'traitCollectionDidChange'
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:221:1: note: 'traitCollectionDidChange' has been explicitly marked unavailable here
219 |
220 | /*! To be overridden as needed to provide custom behavior when the environment's traits change. */
221 | - (void)traitCollectionDidChange:(nullable UITraitCollection *)previousTraitCollection API_DEPRECATED("Use the trait change registration APIs declared in the UITraitChangeObservable protocol", ios(8.0, 17.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'traitCollectionDidChange' has been explicitly marked unavailable here
222 | @end
223 |
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:232:52: error: 'UITextField' is unavailable in watchOS
230 |
231 |     /// Allow Return to dismiss the keyboard on iPad / hardware keyboards.
232 |     public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                    `- error: 'UITextField' is unavailable in watchOS
233 |         print(#function)
234 |         resignFirstResponder()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:35: error: 'UITextField' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                   `- error: 'UITextField' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:48: error: 'UITextFieldDelegate' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                                `- error: 'UITextFieldDelegate' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:290:23: error: 'UITextField' is unavailable in watchOS
288 | // MARK: - Utilities (scoped to this target)
289 |
290 | fileprivate extension UITextField {
    |                       `- error: 'UITextField' is unavailable in watchOS
291 |     /// Safe access to current text string.
292 |     var string: String { text ?? "" }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:318:23: error: 'UIView' is unavailable in watchOS
316 | }
317 |
318 | fileprivate extension UIView {
    |                       `- error: 'UIView' is unavailable in watchOS
319 |     /// Apply a corner radius and enable clipping.
320 |     func applyBorder(radius: CGFloat) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'UIToolbar' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'UIToolbar' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
   |            `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
SwiftCompile normal arm64 (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ CurrencyFieldView.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift (in target 'CurrencyField' from project 'CurrencyField')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CurrencyFieldView.swift
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:33:40: error: 'label' is unavailable in watchOS
 31 |
 32 |     /// Pass-through appearance knobs (forward to `CurrencyField` if desired).
 33 |     public var borderColor: UIColor = .label
    |                                        `- error: 'label' is unavailable in watchOS
 34 |     public var borderRadius: CGFloat = 8
 35 |     public var borderWidth: CGFloat = 1
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:60:37: error: cannot find type 'Context' in scope
 58 |
 59 |     /// Creates and configures the UIKit text field.
 60 |     public func makeUIView(context: Context) -> CurrencyField {
    |                                     `- error: cannot find type 'Context' in scope
 61 |         let currencyField = CurrencyField()
 62 |         currencyField.translatesAutoresizingMaskIntoConstraints = false
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:84:60: error: cannot find type 'Context' in scope
 82 |
 83 |     /// Keeps UIKit and SwiftUI in sync on every update.
 84 |     public func updateUIView(_ tf: CurrencyField, context: Context) {
    |                                                            `- error: cannot find type 'Context' in scope
 85 |         if tf.locale.identifier != locale.identifier { tf.locale = locale }
 86 |         if tf.maximum != maximum { tf.maximum = maximum }
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:106:29: error: 'UITextField' is unavailable in watchOS
104 |
105 |         /// Weak ref to the concrete text field so we can call `resignFirstResponder()`.
106 |         weak var textField: UITextField?
    |                             `- error: 'UITextField' is unavailable in watchOS
107 |
108 |         init(_ parent: CurrencyFieldView) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:121:56: error: 'UITextField' is unavailable in watchOS
119 |
120 |         /// Supports Return key on iPad / hardware keyboards.
121 |         public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                        `- error: 'UITextField' is unavailable in watchOS
122 |             textField.resignFirstResponder()
123 |             return true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:100:47: error: 'UITextFieldDelegate' is unavailable in watchOS
 98 |     // MARK: - Coordinator
 99 |
100 |     public final class Coordinator: NSObject, UITextFieldDelegate {
    |                                               `- error: 'UITextFieldDelegate' is unavailable in watchOS
101 |
102 |         /// Back-reference to the SwiftUI wrapper.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-22 16:25:22.512 xcodebuild[627:3866] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftCompile normal arm64_32 (in target 'CurrencyField' from project 'CurrencyField')
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ CurrencyField (in target 'CurrencyField' from project 'CurrencyField')
	Building workspace CurrencyField with scheme CurrencyField
(3 failures)
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolved source packages:
  CurrencyField: /Users/admin/builder/spi-builder-workspace
resolved source packages: CurrencyField
2026-09-22 16:25:29.014 xcodebuild[790:4572] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "CurrencyField",
  "name" : "CurrencyField",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "CurrencyField",
      "targets" : [
        "CurrencyField"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CurrencyField",
      "module_type" : "SwiftTarget",
      "name" : "CurrencyField",
      "path" : "Sources/CurrencyField",
      "product_memberships" : [
        "CurrencyField"
      ],
      "sources" : [
        "CurrencyField.swift",
        "CurrencyFieldView.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
{
  "workspace" : {
    "name" : "CurrencyField",
    "schemes" : [
      "CurrencyField"
    ]
  }
}
2026-09-22 16:25:30.237 xcodebuild[798:4639] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme CurrencyField -destination generic/platform=watchOS
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme CurrencyField -destination generic/platform=watchOS
Resolve Package Graph
Resolved source packages:
  CurrencyField: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (2 targets)
    Target 'CurrencyField-product' in project 'CurrencyField'
        ➜ Explicit dependency on target 'CurrencyField' in project 'CurrencyField'
    Target 'CurrencyField' in project 'CurrencyField' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
SwiftDriver CurrencyField normal arm64 com.apple.xcode.tools.swift.compiler (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name CurrencyField -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -package-name spi_builder_workspace -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftDriver CurrencyField normal arm64_32 com.apple.xcode.tools.swift.compiler (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name CurrencyField -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64_32-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -package-name spi_builder_workspace -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ CurrencyField (in target 'CurrencyField' from project 'CurrencyField')
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:21:40: error: 'label' is unavailable in watchOS
 19 |
 20 |     /// Border color applied to the field’s layer.
 21 |     public var borderColor: UIColor = .label {
    |                                        `- error: 'label' is unavailable in watchOS
 22 |         didSet { applyBorder(color: borderColor) }
 23 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:60:41: error: 'NSLayoutConstraint' is unavailable in watchOS
 58 |
 59 |     /// Internal height constraint installed on `heightAnchor`.
 60 |     private var heightLayoutConstraint: NSLayoutConstraint?
    |                                         `- error: 'NSLayoutConstraint' is unavailable in watchOS
 61 |
 62 |     /// Intrinsic content size honoring `preferredHeight`.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
    |            `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string.  The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:52: error: 'UITextRange' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                    `- error: 'UITextRange' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:69: error: 'UITextSelectionRect' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                                     `- error: 'UITextSelectionRect' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 |  * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
    |            `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:91:50: error: 'UITextPosition' is unavailable in watchOS
 89 |
 90 |     /// Keep caret at the end unless composing with an IME.
 91 |     public override func caretRect(for position: UITextPosition) -> CGRect {
    |                                                  `- error: 'UITextPosition' is unavailable in watchOS
 92 |         if markedTextRange != nil { return super.caretRect(for: position) }
 93 |         return super.caretRect(for: endOfDocument)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:97:44: error: 'UITextRange' is unavailable in watchOS
 95 |
 96 |     /// Force selection to the end unless composing with an IME.
 97 |     public override var selectedTextRange: UITextRange? {
    |                                            `- error: 'UITextRange' is unavailable in watchOS
 98 |         get { super.selectedTextRange }
 99 |         set {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:63: error: 'UITraitCollection' is unavailable in watchOS
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                                                               `- error: 'UITraitCollection' is unavailable in watchOS
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:23:12: note: 'UITraitCollection' has been explicitly marked unavailable here
 21 |
 22 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
 23 | @interface UITraitCollection : NSObject <NSCopying, NSSecureCoding>
    |            `- note: 'UITraitCollection' has been explicitly marked unavailable here
 24 |
 25 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:26: error: cannot override 'traitCollectionDidChange' which has been marked unavailable
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                          |- error: cannot override 'traitCollectionDidChange' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'traitCollectionDidChange'
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:221:1: note: 'traitCollectionDidChange' has been explicitly marked unavailable here
219 |
220 | /*! To be overridden as needed to provide custom behavior when the environment's traits change. */
221 | - (void)traitCollectionDidChange:(nullable UITraitCollection *)previousTraitCollection API_DEPRECATED("Use the trait change registration APIs declared in the UITraitChangeObservable protocol", ios(8.0, 17.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'traitCollectionDidChange' has been explicitly marked unavailable here
222 | @end
223 |
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:232:52: error: 'UITextField' is unavailable in watchOS
230 |
231 |     /// Allow Return to dismiss the keyboard on iPad / hardware keyboards.
232 |     public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                    `- error: 'UITextField' is unavailable in watchOS
233 |         print(#function)
234 |         resignFirstResponder()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:35: error: 'UITextField' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                   `- error: 'UITextField' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:48: error: 'UITextFieldDelegate' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                                `- error: 'UITextFieldDelegate' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:290:23: error: 'UITextField' is unavailable in watchOS
288 | // MARK: - Utilities (scoped to this target)
289 |
290 | fileprivate extension UITextField {
    |                       `- error: 'UITextField' is unavailable in watchOS
291 |     /// Safe access to current text string.
292 |     var string: String { text ?? "" }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:318:23: error: 'UIView' is unavailable in watchOS
316 | }
317 |
318 | fileprivate extension UIView {
    |                       `- error: 'UIView' is unavailable in watchOS
319 |     /// Apply a corner radius and enable clipping.
320 |     func applyBorder(radius: CGFloat) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'UIToolbar' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'UIToolbar' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
   |            `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'init()' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'init()' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:336:34: error: 'UIView' is unavailable in watchOS
334 | /// Accessory view that pads a UIToolbar for the home-indicator area.
335 | /// Uses intrinsic/sizeThatFits; no Auto Layout constraints.
336 | private final class ToolbarView: UIView {
    |                                  `- error: 'UIView' is unavailable in watchOS
337 |
338 |     let toolbar = UIToolbar()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:33:40: error: 'label' is unavailable in watchOS
 31 |
 32 |     /// Pass-through appearance knobs (forward to `CurrencyField` if desired).
 33 |     public var borderColor: UIColor = .label
    |                                        `- error: 'label' is unavailable in watchOS
 34 |     public var borderRadius: CGFloat = 8
 35 |     public var borderWidth: CGFloat = 1
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:60:37: error: cannot find type 'Context' in scope
 58 |
 59 |     /// Creates and configures the UIKit text field.
 60 |     public func makeUIView(context: Context) -> CurrencyField {
    |                                     `- error: cannot find type 'Context' in scope
 61 |         let currencyField = CurrencyField()
 62 |         currencyField.translatesAutoresizingMaskIntoConstraints = false
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:84:60: error: cannot find type 'Context' in scope
 82 |
 83 |     /// Keeps UIKit and SwiftUI in sync on every update.
 84 |     public func updateUIView(_ tf: CurrencyField, context: Context) {
    |                                                            `- error: cannot find type 'Context' in scope
 85 |         if tf.locale.identifier != locale.identifier { tf.locale = locale }
 86 |         if tf.maximum != maximum { tf.maximum = maximum }
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:106:29: error: 'UITextField' is unavailable in watchOS
104 |
105 |         /// Weak ref to the concrete text field so we can call `resignFirstResponder()`.
106 |         weak var textField: UITextField?
    |                             `- error: 'UITextField' is unavailable in watchOS
107 |
108 |         init(_ parent: CurrencyFieldView) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:121:56: error: 'UITextField' is unavailable in watchOS
119 |
120 |         /// Supports Return key on iPad / hardware keyboards.
121 |         public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                        `- error: 'UITextField' is unavailable in watchOS
122 |             textField.resignFirstResponder()
123 |             return true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:100:47: error: 'UITextFieldDelegate' is unavailable in watchOS
 98 |     // MARK: - Coordinator
 99 |
100 |     public final class Coordinator: NSObject, UITextFieldDelegate {
    |                                               `- error: 'UITextFieldDelegate' is unavailable in watchOS
101 |
102 |         /// Back-reference to the SwiftUI wrapper.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:16:34: error: cannot find type 'UIViewRepresentable' in scope
 14 | /// - On iPhone, `.numberPad` has no Return key → the toolbar provides a way to dismiss.
 15 | /// - On iPad/hardware keyboard, Return is supported via `textFieldShouldReturn`.
 16 | public struct CurrencyFieldView: UIViewRepresentable {
    |                                  `- error: cannot find type 'UIViewRepresentable' in scope
 17 |
 18 |     // MARK: - API surface (SwiftUI-facing)
Failed frontend command:
SwiftCompile normal arm64_32 (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift -target arm64_32-apple-watchos9.0 -module-can-import-version SwiftUI 8.0.84.1 8.0.84 -module-can-import-version UIKit 9127.0.84.1 9127.0.84 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-dependencies-1.json -enable-objc-interop -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name CurrencyField -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField_const_extract_protocols.json -disable-clang-spi -clang-target arm64_32-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64_32/CurrencyField.abi.json
SwiftCompile normal arm64 Compiling\ CurrencyFieldView.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift (in target 'CurrencyField' from project 'CurrencyField')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CurrencyFieldView.swift
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:33:40: error: 'label' is unavailable in watchOS
 31 |
 32 |     /// Pass-through appearance knobs (forward to `CurrencyField` if desired).
 33 |     public var borderColor: UIColor = .label
    |                                        `- error: 'label' is unavailable in watchOS
 34 |     public var borderRadius: CGFloat = 8
 35 |     public var borderWidth: CGFloat = 1
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:60:37: error: cannot find type 'Context' in scope
 58 |
 59 |     /// Creates and configures the UIKit text field.
 60 |     public func makeUIView(context: Context) -> CurrencyField {
    |                                     `- error: cannot find type 'Context' in scope
 61 |         let currencyField = CurrencyField()
 62 |         currencyField.translatesAutoresizingMaskIntoConstraints = false
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:84:60: error: cannot find type 'Context' in scope
 82 |
 83 |     /// Keeps UIKit and SwiftUI in sync on every update.
 84 |     public func updateUIView(_ tf: CurrencyField, context: Context) {
    |                                                            `- error: cannot find type 'Context' in scope
 85 |         if tf.locale.identifier != locale.identifier { tf.locale = locale }
 86 |         if tf.maximum != maximum { tf.maximum = maximum }
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:106:29: error: 'UITextField' is unavailable in watchOS
104 |
105 |         /// Weak ref to the concrete text field so we can call `resignFirstResponder()`.
106 |         weak var textField: UITextField?
    |                             `- error: 'UITextField' is unavailable in watchOS
107 |
108 |         init(_ parent: CurrencyFieldView) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:121:56: error: 'UITextField' is unavailable in watchOS
119 |
120 |         /// Supports Return key on iPad / hardware keyboards.
121 |         public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                        `- error: 'UITextField' is unavailable in watchOS
122 |             textField.resignFirstResponder()
123 |             return true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:100:47: error: 'UITextFieldDelegate' is unavailable in watchOS
 98 |     // MARK: - Coordinator
 99 |
100 |     public final class Coordinator: NSObject, UITextFieldDelegate {
    |                                               `- error: 'UITextFieldDelegate' is unavailable in watchOS
101 |
102 |         /// Back-reference to the SwiftUI wrapper.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
SwiftCompile normal arm64_32 Compiling\ CurrencyFieldView.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift (in target 'CurrencyField' from project 'CurrencyField')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CurrencyFieldView.swift
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:33:40: error: 'label' is unavailable in watchOS
 31 |
 32 |     /// Pass-through appearance knobs (forward to `CurrencyField` if desired).
 33 |     public var borderColor: UIColor = .label
    |                                        `- error: 'label' is unavailable in watchOS
 34 |     public var borderRadius: CGFloat = 8
 35 |     public var borderWidth: CGFloat = 1
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:60:37: error: cannot find type 'Context' in scope
 58 |
 59 |     /// Creates and configures the UIKit text field.
 60 |     public func makeUIView(context: Context) -> CurrencyField {
    |                                     `- error: cannot find type 'Context' in scope
 61 |         let currencyField = CurrencyField()
 62 |         currencyField.translatesAutoresizingMaskIntoConstraints = false
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:84:60: error: cannot find type 'Context' in scope
 82 |
 83 |     /// Keeps UIKit and SwiftUI in sync on every update.
 84 |     public func updateUIView(_ tf: CurrencyField, context: Context) {
    |                                                            `- error: cannot find type 'Context' in scope
 85 |         if tf.locale.identifier != locale.identifier { tf.locale = locale }
 86 |         if tf.maximum != maximum { tf.maximum = maximum }
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:106:29: error: 'UITextField' is unavailable in watchOS
104 |
105 |         /// Weak ref to the concrete text field so we can call `resignFirstResponder()`.
106 |         weak var textField: UITextField?
    |                             `- error: 'UITextField' is unavailable in watchOS
107 |
108 |         init(_ parent: CurrencyFieldView) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:121:56: error: 'UITextField' is unavailable in watchOS
119 |
120 |         /// Supports Return key on iPad / hardware keyboards.
121 |         public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                        `- error: 'UITextField' is unavailable in watchOS
122 |             textField.resignFirstResponder()
123 |             return true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:100:47: error: 'UITextFieldDelegate' is unavailable in watchOS
 98 |     // MARK: - Coordinator
 99 |
100 |     public final class Coordinator: NSObject, UITextFieldDelegate {
    |                                               `- error: 'UITextFieldDelegate' is unavailable in watchOS
101 |
102 |         /// Back-reference to the SwiftUI wrapper.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
SwiftEmitModule normal arm64 Emitting\ module\ for\ CurrencyField (in target 'CurrencyField' from project 'CurrencyField')
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:21:40: error: 'label' is unavailable in watchOS
 19 |
 20 |     /// Border color applied to the field’s layer.
 21 |     public var borderColor: UIColor = .label {
    |                                        `- error: 'label' is unavailable in watchOS
 22 |         didSet { applyBorder(color: borderColor) }
 23 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:60:41: error: 'NSLayoutConstraint' is unavailable in watchOS
 58 |
 59 |     /// Internal height constraint installed on `heightAnchor`.
 60 |     private var heightLayoutConstraint: NSLayoutConstraint?
    |                                         `- error: 'NSLayoutConstraint' is unavailable in watchOS
 61 |
 62 |     /// Intrinsic content size honoring `preferredHeight`.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
    |            `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string.  The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:52: error: 'UITextRange' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                    `- error: 'UITextRange' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:69: error: 'UITextSelectionRect' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                                     `- error: 'UITextSelectionRect' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 |  * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
    |            `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:91:50: error: 'UITextPosition' is unavailable in watchOS
 89 |
 90 |     /// Keep caret at the end unless composing with an IME.
 91 |     public override func caretRect(for position: UITextPosition) -> CGRect {
    |                                                  `- error: 'UITextPosition' is unavailable in watchOS
 92 |         if markedTextRange != nil { return super.caretRect(for: position) }
 93 |         return super.caretRect(for: endOfDocument)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:97:44: error: 'UITextRange' is unavailable in watchOS
 95 |
 96 |     /// Force selection to the end unless composing with an IME.
 97 |     public override var selectedTextRange: UITextRange? {
    |                                            `- error: 'UITextRange' is unavailable in watchOS
 98 |         get { super.selectedTextRange }
 99 |         set {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:63: error: 'UITraitCollection' is unavailable in watchOS
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                                                               `- error: 'UITraitCollection' is unavailable in watchOS
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:23:12: note: 'UITraitCollection' has been explicitly marked unavailable here
 21 |
 22 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
 23 | @interface UITraitCollection : NSObject <NSCopying, NSSecureCoding>
    |            `- note: 'UITraitCollection' has been explicitly marked unavailable here
 24 |
 25 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:26: error: cannot override 'traitCollectionDidChange' which has been marked unavailable
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                          |- error: cannot override 'traitCollectionDidChange' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'traitCollectionDidChange'
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:221:1: note: 'traitCollectionDidChange' has been explicitly marked unavailable here
219 |
220 | /*! To be overridden as needed to provide custom behavior when the environment's traits change. */
221 | - (void)traitCollectionDidChange:(nullable UITraitCollection *)previousTraitCollection API_DEPRECATED("Use the trait change registration APIs declared in the UITraitChangeObservable protocol", ios(8.0, 17.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'traitCollectionDidChange' has been explicitly marked unavailable here
222 | @end
223 |
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:232:52: error: 'UITextField' is unavailable in watchOS
230 |
231 |     /// Allow Return to dismiss the keyboard on iPad / hardware keyboards.
232 |     public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                    `- error: 'UITextField' is unavailable in watchOS
233 |         print(#function)
234 |         resignFirstResponder()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:35: error: 'UITextField' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                   `- error: 'UITextField' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:48: error: 'UITextFieldDelegate' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                                `- error: 'UITextFieldDelegate' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:290:23: error: 'UITextField' is unavailable in watchOS
288 | // MARK: - Utilities (scoped to this target)
289 |
290 | fileprivate extension UITextField {
    |                       `- error: 'UITextField' is unavailable in watchOS
291 |     /// Safe access to current text string.
292 |     var string: String { text ?? "" }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:318:23: error: 'UIView' is unavailable in watchOS
316 | }
317 |
318 | fileprivate extension UIView {
    |                       `- error: 'UIView' is unavailable in watchOS
319 |     /// Apply a corner radius and enable clipping.
320 |     func applyBorder(radius: CGFloat) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'UIToolbar' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'UIToolbar' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
   |            `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'init()' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'init()' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:336:34: error: 'UIView' is unavailable in watchOS
334 | /// Accessory view that pads a UIToolbar for the home-indicator area.
335 | /// Uses intrinsic/sizeThatFits; no Auto Layout constraints.
336 | private final class ToolbarView: UIView {
    |                                  `- error: 'UIView' is unavailable in watchOS
337 |
338 |     let toolbar = UIToolbar()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:33:40: error: 'label' is unavailable in watchOS
 31 |
 32 |     /// Pass-through appearance knobs (forward to `CurrencyField` if desired).
 33 |     public var borderColor: UIColor = .label
    |                                        `- error: 'label' is unavailable in watchOS
 34 |     public var borderRadius: CGFloat = 8
 35 |     public var borderWidth: CGFloat = 1
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:60:37: error: cannot find type 'Context' in scope
 58 |
 59 |     /// Creates and configures the UIKit text field.
 60 |     public func makeUIView(context: Context) -> CurrencyField {
    |                                     `- error: cannot find type 'Context' in scope
 61 |         let currencyField = CurrencyField()
 62 |         currencyField.translatesAutoresizingMaskIntoConstraints = false
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:84:60: error: cannot find type 'Context' in scope
 82 |
 83 |     /// Keeps UIKit and SwiftUI in sync on every update.
 84 |     public func updateUIView(_ tf: CurrencyField, context: Context) {
    |                                                            `- error: cannot find type 'Context' in scope
 85 |         if tf.locale.identifier != locale.identifier { tf.locale = locale }
 86 |         if tf.maximum != maximum { tf.maximum = maximum }
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:106:29: error: 'UITextField' is unavailable in watchOS
104 |
105 |         /// Weak ref to the concrete text field so we can call `resignFirstResponder()`.
106 |         weak var textField: UITextField?
    |                             `- error: 'UITextField' is unavailable in watchOS
107 |
108 |         init(_ parent: CurrencyFieldView) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:121:56: error: 'UITextField' is unavailable in watchOS
119 |
120 |         /// Supports Return key on iPad / hardware keyboards.
121 |         public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                        `- error: 'UITextField' is unavailable in watchOS
122 |             textField.resignFirstResponder()
123 |             return true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:100:47: error: 'UITextFieldDelegate' is unavailable in watchOS
 98 |     // MARK: - Coordinator
 99 |
100 |     public final class Coordinator: NSObject, UITextFieldDelegate {
    |                                               `- error: 'UITextFieldDelegate' is unavailable in watchOS
101 |
102 |         /// Back-reference to the SwiftUI wrapper.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift:16:34: error: cannot find type 'UIViewRepresentable' in scope
 14 | /// - On iPhone, `.numberPad` has no Return key → the toolbar provides a way to dismiss.
 15 | /// - On iPad/hardware keyboard, Return is supported via `textFieldShouldReturn`.
 16 | public struct CurrencyFieldView: UIViewRepresentable {
    |                                  `- error: cannot find type 'UIViewRepresentable' in scope
 17 |
 18 |     // MARK: - API surface (SwiftUI-facing)
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyFieldView.swift -target arm64-apple-watchos9.0 -module-can-import-version SwiftUI 8.0.84.1 8.0.84 -module-can-import-version UIKit 9127.0.84.1 9127.0.84 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField-dependencies-2.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name CurrencyField -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CurrencyField.build/Debug-watchos/CurrencyField-t.build/Objects-normal/arm64/CurrencyField.abi.json
SwiftCompile normal arm64 (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ CurrencyField.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift (in target 'CurrencyField' from project 'CurrencyField')
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:21:40: error: 'label' is unavailable in watchOS
 19 |
 20 |     /// Border color applied to the field’s layer.
 21 |     public var borderColor: UIColor = .label {
    |                                        `- error: 'label' is unavailable in watchOS
 22 |         didSet { applyBorder(color: borderColor) }
 23 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:60:41: error: 'NSLayoutConstraint' is unavailable in watchOS
 58 |
 59 |     /// Internal height constraint installed on `heightAnchor`.
 60 |     private var heightLayoutConstraint: NSLayoutConstraint?
    |                                         `- error: 'NSLayoutConstraint' is unavailable in watchOS
 61 |
 62 |     /// Intrinsic content size honoring `preferredHeight`.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
    |            `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string.  The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:52: error: 'UITextRange' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                    `- error: 'UITextRange' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:69: error: 'UITextSelectionRect' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                                     `- error: 'UITextSelectionRect' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 |  * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
    |            `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:91:50: error: 'UITextPosition' is unavailable in watchOS
 89 |
 90 |     /// Keep caret at the end unless composing with an IME.
 91 |     public override func caretRect(for position: UITextPosition) -> CGRect {
    |                                                  `- error: 'UITextPosition' is unavailable in watchOS
 92 |         if markedTextRange != nil { return super.caretRect(for: position) }
 93 |         return super.caretRect(for: endOfDocument)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:97:44: error: 'UITextRange' is unavailable in watchOS
 95 |
 96 |     /// Force selection to the end unless composing with an IME.
 97 |     public override var selectedTextRange: UITextRange? {
    |                                            `- error: 'UITextRange' is unavailable in watchOS
 98 |         get { super.selectedTextRange }
 99 |         set {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:63: error: 'UITraitCollection' is unavailable in watchOS
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                                                               `- error: 'UITraitCollection' is unavailable in watchOS
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:23:12: note: 'UITraitCollection' has been explicitly marked unavailable here
 21 |
 22 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
 23 | @interface UITraitCollection : NSObject <NSCopying, NSSecureCoding>
    |            `- note: 'UITraitCollection' has been explicitly marked unavailable here
 24 |
 25 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:26: error: cannot override 'traitCollectionDidChange' which has been marked unavailable
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                          |- error: cannot override 'traitCollectionDidChange' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'traitCollectionDidChange'
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:221:1: note: 'traitCollectionDidChange' has been explicitly marked unavailable here
219 |
220 | /*! To be overridden as needed to provide custom behavior when the environment's traits change. */
221 | - (void)traitCollectionDidChange:(nullable UITraitCollection *)previousTraitCollection API_DEPRECATED("Use the trait change registration APIs declared in the UITraitChangeObservable protocol", ios(8.0, 17.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'traitCollectionDidChange' has been explicitly marked unavailable here
222 | @end
223 |
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CurrencyField.swift
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:232:52: error: 'UITextField' is unavailable in watchOS
230 |
231 |     /// Allow Return to dismiss the keyboard on iPad / hardware keyboards.
232 |     public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                    `- error: 'UITextField' is unavailable in watchOS
233 |         print(#function)
234 |         resignFirstResponder()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:35: error: 'UITextField' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                   `- error: 'UITextField' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:48: error: 'UITextFieldDelegate' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                                `- error: 'UITextFieldDelegate' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:290:23: error: 'UITextField' is unavailable in watchOS
288 | // MARK: - Utilities (scoped to this target)
289 |
290 | fileprivate extension UITextField {
    |                       `- error: 'UITextField' is unavailable in watchOS
291 |     /// Safe access to current text string.
292 |     var string: String { text ?? "" }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:318:23: error: 'UIView' is unavailable in watchOS
316 | }
317 |
318 | fileprivate extension UIView {
    |                       `- error: 'UIView' is unavailable in watchOS
319 |     /// Apply a corner radius and enable clipping.
320 |     func applyBorder(radius: CGFloat) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'UIToolbar' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'UIToolbar' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
   |            `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'init()' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'init()' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
SwiftCompile normal arm64_32 Compiling\ CurrencyField.swift /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift (in target 'CurrencyField' from project 'CurrencyField')
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:21:40: error: 'label' is unavailable in watchOS
 19 |
 20 |     /// Border color applied to the field’s layer.
 21 |     public var borderColor: UIColor = .label {
    |                                        `- error: 'label' is unavailable in watchOS
 22 |         didSet { applyBorder(color: borderColor) }
 23 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:60:41: error: 'NSLayoutConstraint' is unavailable in watchOS
 58 |
 59 |     /// Internal height constraint installed on `heightAnchor`.
 60 |     private var heightLayoutConstraint: NSLayoutConstraint?
    |                                         `- error: 'NSLayoutConstraint' is unavailable in watchOS
 61 |
 62 |     /// Intrinsic content size honoring `preferredHeight`.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
    |            `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string.  The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:52: error: 'UITextRange' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                    `- error: 'UITextRange' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:84:69: error: 'UITextSelectionRect' is unavailable in watchOS
 82 |
 83 |     /// Keep selection at the end unless composing with an IME.
 84 |     public override func selectionRects(for range: UITextRange) -> [UITextSelectionRect] {
    |                                                                     `- error: 'UITextSelectionRect' is unavailable in watchOS
 85 |         if markedTextRange != nil { return super.selectionRects(for: range) }
 86 |         guard let range = textRange(from: endOfDocument, to: endOfDocument) else { return [] }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 |  * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
    |            `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:91:50: error: 'UITextPosition' is unavailable in watchOS
 89 |
 90 |     /// Keep caret at the end unless composing with an IME.
 91 |     public override func caretRect(for position: UITextPosition) -> CGRect {
    |                                                  `- error: 'UITextPosition' is unavailable in watchOS
 92 |         if markedTextRange != nil { return super.caretRect(for: position) }
 93 |         return super.caretRect(for: endOfDocument)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 |  * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
    |            `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:97:44: error: 'UITextRange' is unavailable in watchOS
 95 |
 96 |     /// Force selection to the end unless composing with an IME.
 97 |     public override var selectedTextRange: UITextRange? {
    |                                            `- error: 'UITextRange' is unavailable in watchOS
 98 |         get { super.selectedTextRange }
 99 |         set {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
    |            `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty;     //  Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:63: error: 'UITraitCollection' is unavailable in watchOS
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                                                               `- error: 'UITraitCollection' is unavailable in watchOS
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:23:12: note: 'UITraitCollection' has been explicitly marked unavailable here
 21 |
 22 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
 23 | @interface UITraitCollection : NSObject <NSCopying, NSSecureCoding>
    |            `- note: 'UITraitCollection' has been explicitly marked unavailable here
 24 |
 25 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:222:26: error: cannot override 'traitCollectionDidChange' which has been marked unavailable
220 |     }
221 |
222 |     public override func traitCollectionDidChange(_ previous: UITraitCollection?) {
    |                          |- error: cannot override 'traitCollectionDidChange' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'traitCollectionDidChange'
223 |         super.traitCollectionDidChange(previous)
224 |         if traitCollection.preferredContentSizeCategory != previous?.preferredContentSizeCategory {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h:221:1: note: 'traitCollectionDidChange' has been explicitly marked unavailable here
219 |
220 | /*! To be overridden as needed to provide custom behavior when the environment's traits change. */
221 | - (void)traitCollectionDidChange:(nullable UITraitCollection *)previousTraitCollection API_DEPRECATED("Use the trait change registration APIs declared in the UITraitChangeObservable protocol", ios(8.0, 17.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'traitCollectionDidChange' has been explicitly marked unavailable here
222 | @end
223 |
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:232:52: error: 'UITextField' is unavailable in watchOS
230 |
231 |     /// Allow Return to dismiss the keyboard on iPad / hardware keyboards.
232 |     public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    |                                                    `- error: 'UITextField' is unavailable in watchOS
233 |         print(#function)
234 |         resignFirstResponder()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:35: error: 'UITextField' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                   `- error: 'UITextField' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:16:48: error: 'UITextFieldDelegate' is unavailable in watchOS
 14 | /// - Recommended keyboard on iPhone: `.numberPad` (no Return key).
 15 | /// - On iPad or with hardware keyboards, Return is handled via `textFieldShouldReturn`.
 16 | public final class CurrencyField: UITextField, UITextFieldDelegate {
    |                                                `- error: 'UITextFieldDelegate' is unavailable in watchOS
 17 |
 18 |     // MARK: Appearance (public)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:140:11: note: 'UITextFieldDelegate' has been explicitly marked unavailable here
138 |
139 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
140 | @protocol UITextFieldDelegate <NSObject>
    |           `- note: 'UITextFieldDelegate' has been explicitly marked unavailable here
141 |
142 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:290:23: error: 'UITextField' is unavailable in watchOS
288 | // MARK: - Utilities (scoped to this target)
289 |
290 | fileprivate extension UITextField {
    |                       `- error: 'UITextField' is unavailable in watchOS
291 |     /// Safe access to current text string.
292 |     var string: String { text ?? "" }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:318:23: error: 'UIView' is unavailable in watchOS
316 | }
317 |
318 | fileprivate extension UIView {
    |                       `- error: 'UIView' is unavailable in watchOS
319 |     /// Apply a corner radius and enable clipping.
320 |     func applyBorder(radius: CGFloat) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'UIToolbar' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'UIToolbar' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
   |            `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
/Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift:338:19: error: 'init()' is unavailable in watchOS
336 | private final class ToolbarView: UIView {
337 |
338 |     let toolbar = UIToolbar()
    |                   `- error: 'init()' is unavailable in watchOS
339 |
340 |     override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/CurrencyField/CurrencyField.swift (in target 'CurrencyField' from project 'CurrencyField')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CurrencyField.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-22 16:25:31.200 xcodebuild[799:4665] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftCompile normal arm64_32 (in target 'CurrencyField' from project 'CurrencyField')
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ CurrencyField (in target 'CurrencyField' from project 'CurrencyField')
	SwiftEmitModule normal arm64 Emitting\ module\ for\ CurrencyField (in target 'CurrencyField' from project 'CurrencyField')
	SwiftCompile normal arm64 (in target 'CurrencyField' from project 'CurrencyField')
	Building workspace CurrencyField with scheme CurrencyField
(5 failures)
BUILD FAILURE 6.4 watchOS