The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Placard, reference main (03a288), with Swift 6.4 for watchOS using Xcode 27.0 on 21 Sep 2026 08:07:50 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 Placard -destination generic/platform=watchOS

Build Log

 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:50:29: error: 'NSLayoutConstraint' is unavailable in watchOS
 48 |     var minimumHeight: CGFloat = 0.0
 49 |
 50 |     var verticalConstraint: NSLayoutConstraint?
    |                             `- error: 'NSLayoutConstraint' is unavailable in watchOS
 51 |     var heightConstraint: NSLayoutConstraint?
 52 |
/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/Placard/Placard.swift:51:27: error: 'NSLayoutConstraint' is unavailable in watchOS
 49 |
 50 |     var verticalConstraint: NSLayoutConstraint?
 51 |     var heightConstraint: NSLayoutConstraint?
    |                           `- error: 'NSLayoutConstraint' is unavailable in watchOS
 52 |
 53 |     private let screenDims = UIScreen.main.bounds
/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/Placard/Placard.swift:53:30: error: 'UIScreen' is unavailable in watchOS
 51 |     var heightConstraint: NSLayoutConstraint?
 52 |
 53 |     private let screenDims = UIScreen.main.bounds
    |                              `- error: 'UIScreen' is unavailable in watchOS
 54 |
 55 |     var height: 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/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:53:39: error: 'main' is unavailable in watchOS
 51 |     var heightConstraint: NSLayoutConstraint?
 52 |
 53 |     private let screenDims = UIScreen.main.bounds
    |                                       `- error: 'main' is unavailable in watchOS
 54 |
 55 |     var height: 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/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:77:18: error: 'UIView' is unavailable in watchOS
 75 |     var action: TapAction?
 76 |
 77 |     var content: UIView?
    |                  `- error: 'UIView' is unavailable in watchOS
 78 |     var config: PlacardConfigP?
 79 |
/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/Placard/Placard.swift:84:18: error: 'UIView' is unavailable in watchOS
 82 |
 83 |     convenience init<T: PlacardConfigP>(
 84 |         content: UIView,
    |                  `- error: 'UIView' is unavailable in watchOS
 85 |         config: T,
 86 |         title: String = "",
/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/Placard/Placard.swift:24:29: error: 'UIView' is unavailable in watchOS
 22 |  Placard allows you to choose default message themes for things such as priority-based messages, but also offers customization via either parameters, a configuration object, or you can use your own SwiftUI view and let Placard control its animations and appearance. The Placard can be configured to display for any period of time (by default, it displays forever - or until a user taps on it). Further, all Placard messages can given an action to perform on user tap (but not if Placard dismisses itself via a timeout).
 23 |  */
 24 | public final class Placard: UIView {
    |                             `- error: 'UIView' is unavailable in watchOS
 25 |
 26 |     let logger = Logger(subsystem: Logger.subsystem, category: "Placard")
/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/Placard/Placard.swift:181:33: error: 'UITapGestureRecognizer' is unavailable in watchOS
179 |     /// Fires the action that might be associated with a Placard.
180 |     /// - Parameter sender: UITapGestureRecognizer
181 |     @objc func tapped(_ sender: UITapGestureRecognizer) {
    |                                 `- error: 'UITapGestureRecognizer' is unavailable in watchOS
182 |         if sender.state == .ended {
183 |             let tapAnimation = config?.tapAnimation
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITapGestureRecognizer.h:23:12: note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
23 | @interface UITapGestureRecognizer : UIGestureRecognizer
   |            `- note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
24 |
25 | @property (nonatomic) NSUInteger  numberOfTapsRequired;       // Default is 1. The number of taps required to match
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:257:26: error: 'UIView' is unavailable in watchOS
255 |     private var priority: PlacardPriority?
256 |
257 |     private let content: UIView
    |                          `- error: 'UIView' is unavailable in watchOS
258 |
259 |     public init(title: String,
/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/Placard/PlacardView.swift:324:37: error: cannot find type 'Context' in scope
322 |     }
323 |
324 |     public func makeUIView(context: Context) -> UIView {
    |                                     `- error: cannot find type 'Context' in scope
325 |         return UIView()
326 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:324:49: error: 'UIView' is unavailable in watchOS
322 |     }
323 |
324 |     public func makeUIView(context: Context) -> UIView {
    |                                                 `- error: 'UIView' is unavailable in watchOS
325 |         return UIView()
326 |     }
/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/Placard/PlacardView.swift:328:57: error: cannot find type 'Context' in scope
326 |     }
327 |
328 |     public func updateUIView(_ uiView: UIView, context: Context) {
    |                                                         `- error: cannot find type 'Context' in scope
329 |         content.translatesAutoresizingMaskIntoConstraints = false
330 |         _=Placard(content: content, config: config, title: title, statusMessage: statusMessage, duration: duration, action: action)
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:328:40: error: 'UIView' is unavailable in watchOS
326 |     }
327 |
328 |     public func updateUIView(_ uiView: UIView, context: Context) {
    |                                        `- error: 'UIView' is unavailable in watchOS
329 |         content.translatesAutoresizingMaskIntoConstraints = false
330 |         _=Placard(content: content, config: config, title: title, statusMessage: statusMessage, duration: duration, action: action)
/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/Placard/PlacardView.swift:248:36: error: cannot find type 'UIViewRepresentable' in scope
246 |  */
247 | /// View handler for provided placard views (handles the processing of both  PlacardPriorityView and PlacardView)
248 | public struct PlacardPriorityView: UIViewRepresentable {
    |                                    `- error: cannot find type 'UIViewRepresentable' in scope
249 |     private let title: String
250 |     private let statusMessage: String
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:338:26: error: 'UIView' is unavailable in watchOS
336 |     private let title: String
337 |     private let statusMessage: String
338 |     private let content: UIView
    |                          `- error: 'UIView' is unavailable in watchOS
339 |     private var config: PlacardConfigP?
340 |     private var delay: Double
/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/Placard/PlacardView.swift:364:37: error: cannot find type 'Context' in scope
362 |     }
363 |
364 |     public func makeUIView(context: Context) -> UIView {
    |                                     `- error: cannot find type 'Context' in scope
365 |         return UIView()
366 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:364:49: error: 'UIView' is unavailable in watchOS
362 |     }
363 |
364 |     public func makeUIView(context: Context) -> UIView {
    |                                                 `- error: 'UIView' is unavailable in watchOS
365 |         return UIView()
366 |     }
/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/Placard/PlacardView.swift:368:57: error: cannot find type 'Context' in scope
366 |     }
367 |
368 |     public func updateUIView(_ uiView: UIView, context: Context) {
    |                                                         `- error: cannot find type 'Context' in scope
369 |         content.translatesAutoresizingMaskIntoConstraints = false
370 |         let _config = self.config ?? PlacardConfigCase.default
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:368:40: error: 'UIView' is unavailable in watchOS
366 |     }
367 |
368 |     public func updateUIView(_ uiView: UIView, context: Context) {
    |                                        `- error: 'UIView' is unavailable in watchOS
369 |         content.translatesAutoresizingMaskIntoConstraints = false
370 |         let _config = self.config ?? PlacardConfigCase.default
/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/Placard/PlacardView.swift:335:43: error: cannot find type 'UIViewRepresentable' in scope
333 |
334 | /// View handler for custom (user-provided) views
335 | public struct PlacardCustomView<Content>: UIViewRepresentable where Content: View {
    |                                           `- error: cannot find type 'UIViewRepresentable' in scope
336 |     private let title: String
337 |     private let statusMessage: String
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:10:11: error: 'UIView' is unavailable in watchOS
  8 | import UIKit
  9 |
 10 | extension UIView {
    |           `- error: 'UIView' is unavailable in watchOS
 11 |     enum TextAlignment {
 12 |         case left, right, center
/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.
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/Placard/Placard+Constraints.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+Layout.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardConfig.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift -target arm64-apple-watchos10.0 -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/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64/Placard-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/Placard.build/Debug-watchos/Placard-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Placard -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64/Placard_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/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64/Placard.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64/Placard.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64/Placard-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64/Placard-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64/Placard-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64/Placard.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64/Placard.abi.json
SwiftCompile normal arm64 (in target 'Placard' from project 'Placard')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ PlacardConfig.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardConfig.swift (in target 'Placard' from project 'Placard')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardConfig.swift (in target 'Placard' from project 'Placard')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PlacardConfig.swift
SwiftCompile normal arm64 Compiling\ UIView+Animations.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift (in target 'Placard' from project 'Placard')
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:10:11: error: 'UIView' is unavailable in watchOS
  8 | import UIKit
  9 |
 10 | extension UIView {
    |           `- error: 'UIView' is unavailable in watchOS
 11 |     enum TextAlignment {
 12 |         case left, right, center
/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/Placard/UIView+Animations.swift:20:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 17 |         UIView.animateKeyframes(withDuration: duration,
 18 |                                 delay: delay,
 19 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
 20 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
 21 |                 self?.transform = CGAffineTransform(scaleX: -0.01, y: -0.01)
 22 |                 if fadeIn { self?.layer.opacity = 0.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:24:95: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 17 |         UIView.animateKeyframes(withDuration: duration,
 18 |                                 delay: delay,
 19 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
 20 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
 21 |                 self?.transform = CGAffineTransform(scaleX: -0.01, y: -0.01)
 22 |                 if fadeIn { self?.layer.opacity = 0.0 }
 23 |             }
 24 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.165) { [weak self] in
    |                                                                                               |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                               `- note: explicitly assign the capture list item to silence
 25 |                 self?.transform = .identity
 26 |                 if fadeIn { self?.layer.opacity = 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:17:9: error: 'UIView' is unavailable in watchOS
 15 |     // ======= show ===========
 16 |     func spinIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
 17 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
 18 |                                 delay: delay,
 19 |                                 options: []) {
/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/Placard/UIView+Animations.swift:20:13: error: 'UIView' is unavailable in watchOS
 18 |                                 delay: delay,
 19 |                                 options: []) {
 20 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
 21 |                 self?.transform = CGAffineTransform(scaleX: -0.01, y: -0.01)
 22 |                 if fadeIn { self?.layer.opacity = 0.0 }
/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/Placard/UIView+Animations.swift:24:13: error: 'UIView' is unavailable in watchOS
 22 |                 if fadeIn { self?.layer.opacity = 0.0 }
 23 |             }
 24 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.165) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
 25 |                 self?.transform = .identity
 26 |                 if fadeIn { self?.layer.opacity = 1.0 }
/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/Placard/UIView+Animations.swift:35:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 32 |         UIView.animateKeyframes(withDuration: duration,
 33 |                                 delay: delay,
 34 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
 35 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
 36 |                 self?.alpha = 0.0
 37 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:38:95: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 32 |         UIView.animateKeyframes(withDuration: duration,
 33 |                                 delay: delay,
 34 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
 35 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
 36 |                 self?.alpha = 0.0
 37 |             }
 38 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.165) { [weak self] in
    |                                                                                               |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                               `- note: explicitly assign the capture list item to silence
 39 |                 self?.alpha = 1.0
 40 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:32:9: error: 'UIView' is unavailable in watchOS
 30 |
 31 |     func fadeIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2) {
 32 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
 33 |                                 delay: delay,
 34 |                                 options: []) {
/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/Placard/UIView+Animations.swift:35:13: error: 'UIView' is unavailable in watchOS
 33 |                                 delay: delay,
 34 |                                 options: []) {
 35 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
 36 |                 self?.alpha = 0.0
 37 |             }
/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/Placard/UIView+Animations.swift:38:13: error: 'UIView' is unavailable in watchOS
 36 |                 self?.alpha = 0.0
 37 |             }
 38 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.165) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
 39 |                 self?.alpha = 1.0
 40 |             }
/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/Placard/UIView+Animations.swift:49:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 46 |         UIView.animateKeyframes(withDuration: duration,
 47 |                                 delay: delay,
 48 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
 49 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
 50 |                 self?.layer.frame = CGRect(x: b.minX, y: b.maxY, width: b.width, height: 0)
 51 |                 if fadeIn { self?.layer.opacity = 0.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:53:95: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 46 |         UIView.animateKeyframes(withDuration: duration,
 47 |                                 delay: delay,
 48 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
 49 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
 50 |                 self?.layer.frame = CGRect(x: b.minX, y: b.maxY, width: b.width, height: 0)
 51 |                 if fadeIn { self?.layer.opacity = 0.0 }
 52 |             }
 53 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.165) { [weak self] in
    |                                                                                               |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                               `- note: explicitly assign the capture list item to silence
 54 |                 self?.layer.frame = CGRect(x: b.minX, y: b.maxY, width: b.width, height: -b.height)
 55 |                 if fadeIn { self?.layer.opacity = 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:46:9: error: 'UIView' is unavailable in watchOS
 44 |     func rollUpIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
 45 |         let b = self.bounds
 46 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
 47 |                                 delay: delay,
 48 |                                 options: []) {
/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/Placard/UIView+Animations.swift:49:13: error: 'UIView' is unavailable in watchOS
 47 |                                 delay: delay,
 48 |                                 options: []) {
 49 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
 50 |                 self?.layer.frame = CGRect(x: b.minX, y: b.maxY, width: b.width, height: 0)
 51 |                 if fadeIn { self?.layer.opacity = 0.0 }
/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/Placard/UIView+Animations.swift:53:13: error: 'UIView' is unavailable in watchOS
 51 |                 if fadeIn { self?.layer.opacity = 0.0 }
 52 |             }
 53 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.165) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
 54 |                 self?.layer.frame = CGRect(x: b.minX, y: b.maxY, width: b.width, height: -b.height)
 55 |                 if fadeIn { self?.layer.opacity = 1.0 }
/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/Placard/UIView+Animations.swift:66:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 63 |         UIView.animateKeyframes(withDuration: duration,
 64 |                                 delay: delay,
 65 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
 66 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
 67 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: 0)
 68 |                 if fadeIn { self?.layer.opacity = 0.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:70:95: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 63 |         UIView.animateKeyframes(withDuration: duration,
 64 |                                 delay: delay,
 65 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
 66 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
 67 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: 0)
 68 |                 if fadeIn { self?.layer.opacity = 0.0 }
 69 |             }
 70 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.165) { [weak self] in
    |                                                                                               |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                               `- note: explicitly assign the capture list item to silence
 71 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: b.height)
 72 |                 if fadeIn { self?.layer.opacity = 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:63:9: error: 'UIView' is unavailable in watchOS
 61 |         let b = self.bounds
 62 |
 63 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
 64 |                                 delay: delay,
 65 |                                 options: []) {
/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/Placard/UIView+Animations.swift:66:13: error: 'UIView' is unavailable in watchOS
 64 |                                 delay: delay,
 65 |                                 options: []) {
 66 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
 67 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: 0)
 68 |                 if fadeIn { self?.layer.opacity = 0.0 }
/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/Placard/UIView+Animations.swift:70:13: error: 'UIView' is unavailable in watchOS
 68 |                 if fadeIn { self?.layer.opacity = 0.0 }
 69 |             }
 70 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.165) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
 71 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: b.height)
 72 |                 if fadeIn { self?.layer.opacity = 1.0 }
/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/Placard/UIView+Animations.swift:79:28: error: 'UIScreen' is unavailable in watchOS
 77 |     func floatUpIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
 78 |         let b = self.bounds
 79 |         let screenHeight = UIScreen.main.bounds.height
    |                            `- error: 'UIScreen' is unavailable in watchOS
 80 |
 81 |         UIView.animateKeyframes(withDuration: duration,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:79:37: error: 'main' is unavailable in watchOS
 77 |     func floatUpIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
 78 |         let b = self.bounds
 79 |         let screenHeight = UIScreen.main.bounds.height
    |                                     `- error: 'main' is unavailable in watchOS
 80 |
 81 |         UIView.animateKeyframes(withDuration: duration,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:84:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 81 |         UIView.animateKeyframes(withDuration: duration,
 82 |                                 delay: delay,
 83 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
 84 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
 85 |                 self?.layer.frame = CGRect(x: b.minX, y: screenHeight/2, width: b.width, height: screenHeight)
 86 |                 if fadeIn { self?.layer.opacity = 0.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:88:93: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 81 |         UIView.animateKeyframes(withDuration: duration,
 82 |                                 delay: delay,
 83 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
 84 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
 85 |                 self?.layer.frame = CGRect(x: b.minX, y: screenHeight/2, width: b.width, height: screenHeight)
 86 |                 if fadeIn { self?.layer.opacity = 0.0 }
 87 |             }
 88 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |                                                                                             |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                             `- note: explicitly assign the capture list item to silence
 89 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: b.height)
 90 |                 if fadeIn { self?.layer.opacity = 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:81:9: error: 'UIView' is unavailable in watchOS
 79 |         let screenHeight = UIScreen.main.bounds.height
 80 |
 81 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
 82 |                                 delay: delay,
 83 |                                 options: []) {
/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/Placard/UIView+Animations.swift:84:13: error: 'UIView' is unavailable in watchOS
 82 |                                 delay: delay,
 83 |                                 options: []) {
 84 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
 85 |                 self?.layer.frame = CGRect(x: b.minX, y: screenHeight/2, width: b.width, height: screenHeight)
 86 |                 if fadeIn { self?.layer.opacity = 0.0 }
/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/Placard/UIView+Animations.swift:88:13: error: 'UIView' is unavailable in watchOS
 86 |                 if fadeIn { self?.layer.opacity = 0.0 }
 87 |             }
 88 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
 89 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: b.height)
 90 |                 if fadeIn { self?.layer.opacity = 1.0 }
/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/Placard/UIView+Animations.swift:97:28: error: 'UIScreen' is unavailable in watchOS
 95 |     func floatDownIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
 96 |         let b = self.bounds
 97 |         let screenHeight = UIScreen.main.bounds.height
    |                            `- error: 'UIScreen' is unavailable in watchOS
 98 |
 99 |         UIView.animateKeyframes(withDuration: duration,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:97:37: error: 'main' is unavailable in watchOS
 95 |     func floatDownIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
 96 |         let b = self.bounds
 97 |         let screenHeight = UIScreen.main.bounds.height
    |                                     `- error: 'main' is unavailable in watchOS
 98 |
 99 |         UIView.animateKeyframes(withDuration: duration,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:102:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 99 |         UIView.animateKeyframes(withDuration: duration,
100 |                                 delay: delay,
101 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
102 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
103 |                 self?.layer.frame = CGRect(x: b.minX, y: -screenHeight/2, width: b.width, height: screenHeight)
104 |                 if fadeIn { self?.layer.opacity = 0.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:106:93: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
 99 |         UIView.animateKeyframes(withDuration: duration,
100 |                                 delay: delay,
101 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
102 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
103 |                 self?.layer.frame = CGRect(x: b.minX, y: -screenHeight/2, width: b.width, height: screenHeight)
104 |                 if fadeIn { self?.layer.opacity = 0.0 }
105 |             }
106 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |                                                                                             |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                             `- note: explicitly assign the capture list item to silence
107 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: b.height)
108 |                 if fadeIn { self?.layer.opacity = 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:99:9: error: 'UIView' is unavailable in watchOS
 97 |         let screenHeight = UIScreen.main.bounds.height
 98 |
 99 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
100 |                                 delay: delay,
101 |                                 options: []) {
/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/Placard/UIView+Animations.swift:102:13: error: 'UIView' is unavailable in watchOS
100 |                                 delay: delay,
101 |                                 options: []) {
102 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
103 |                 self?.layer.frame = CGRect(x: b.minX, y: -screenHeight/2, width: b.width, height: screenHeight)
104 |                 if fadeIn { self?.layer.opacity = 0.0 }
/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/Placard/UIView+Animations.swift:106:13: error: 'UIView' is unavailable in watchOS
104 |                 if fadeIn { self?.layer.opacity = 0.0 }
105 |             }
106 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
107 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: b.height)
108 |                 if fadeIn { self?.layer.opacity = 1.0 }
/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/Placard/UIView+Animations.swift:115:27: error: 'UIScreen' is unavailable in watchOS
113 |     func floatLeftIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
114 |         let b = self.bounds
115 |         let screenWidth = UIScreen.main.bounds.width
    |                           `- error: 'UIScreen' is unavailable in watchOS
116 |         UIView.animateKeyframes(withDuration: duration,
117 |                                 delay: delay,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:115:36: error: 'main' is unavailable in watchOS
113 |     func floatLeftIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
114 |         let b = self.bounds
115 |         let screenWidth = UIScreen.main.bounds.width
    |                                    `- error: 'main' is unavailable in watchOS
116 |         UIView.animateKeyframes(withDuration: duration,
117 |                                 delay: delay,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:119:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
116 |         UIView.animateKeyframes(withDuration: duration,
117 |                                 delay: delay,
118 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
119 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
120 |                 self?.layer.frame = CGRect(x: screenWidth, y: 0, width: screenWidth, height: b.height)
121 |                 if fadeIn { self?.layer.opacity = 0.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:123:93: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
116 |         UIView.animateKeyframes(withDuration: duration,
117 |                                 delay: delay,
118 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
119 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
120 |                 self?.layer.frame = CGRect(x: screenWidth, y: 0, width: screenWidth, height: b.height)
121 |                 if fadeIn { self?.layer.opacity = 0.0 }
122 |             }
123 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |                                                                                             |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                             `- note: explicitly assign the capture list item to silence
124 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: b.height)
125 |                 if fadeIn { self?.layer.opacity = 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:116:9: error: 'UIView' is unavailable in watchOS
114 |         let b = self.bounds
115 |         let screenWidth = UIScreen.main.bounds.width
116 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
117 |                                 delay: delay,
118 |                                 options: []) {
/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/Placard/UIView+Animations.swift:119:13: error: 'UIView' is unavailable in watchOS
117 |                                 delay: delay,
118 |                                 options: []) {
119 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
120 |                 self?.layer.frame = CGRect(x: screenWidth, y: 0, width: screenWidth, height: b.height)
121 |                 if fadeIn { self?.layer.opacity = 0.0 }
/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/Placard/UIView+Animations.swift:123:13: error: 'UIView' is unavailable in watchOS
121 |                 if fadeIn { self?.layer.opacity = 0.0 }
122 |             }
123 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
124 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: b.height)
125 |                 if fadeIn { self?.layer.opacity = 1.0 }
/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/Placard/UIView+Animations.swift:132:27: error: 'UIScreen' is unavailable in watchOS
130 |     func floatRightIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
131 |         let b = self.bounds
132 |         let screenWidth = UIScreen.main.bounds.width
    |                           `- error: 'UIScreen' is unavailable in watchOS
133 |
134 |         UIView.animateKeyframes(withDuration: duration,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:132:36: error: 'main' is unavailable in watchOS
130 |     func floatRightIn(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
131 |         let b = self.bounds
132 |         let screenWidth = UIScreen.main.bounds.width
    |                                    `- error: 'main' is unavailable in watchOS
133 |
134 |         UIView.animateKeyframes(withDuration: duration,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:137:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
134 |         UIView.animateKeyframes(withDuration: duration,
135 |                                 delay: delay,
136 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
137 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
138 |                 self?.layer.frame = CGRect(x: 0, y: 0, width: -screenWidth, height: b.height)
139 |                 if fadeIn { self?.layer.opacity = 0.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:141:93: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
134 |         UIView.animateKeyframes(withDuration: duration,
135 |                                 delay: delay,
136 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
137 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
138 |                 self?.layer.frame = CGRect(x: 0, y: 0, width: -screenWidth, height: b.height)
139 |                 if fadeIn { self?.layer.opacity = 0.0 }
140 |             }
141 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |                                                                                             |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                             `- note: explicitly assign the capture list item to silence
142 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: b.height)
143 |                 if fadeIn { self?.layer.opacity = 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:134:9: error: 'UIView' is unavailable in watchOS
132 |         let screenWidth = UIScreen.main.bounds.width
133 |
134 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
135 |                                 delay: delay,
136 |                                 options: []) {
/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/Placard/UIView+Animations.swift:137:13: error: 'UIView' is unavailable in watchOS
135 |                                 delay: delay,
136 |                                 options: []) {
137 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
138 |                 self?.layer.frame = CGRect(x: 0, y: 0, width: -screenWidth, height: b.height)
139 |                 if fadeIn { self?.layer.opacity = 0.0 }
/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/Placard/UIView+Animations.swift:141:13: error: 'UIView' is unavailable in watchOS
139 |                 if fadeIn { self?.layer.opacity = 0.0 }
140 |             }
141 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
142 |                 self?.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: b.height)
143 |                 if fadeIn { self?.layer.opacity = 1.0 }
/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/Placard/UIView+Animations.swift:152:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
149 |         UIView.animateKeyframes(withDuration: duration,
150 |                                 delay: delay,
151 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
152 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
153 |                 self?.transform = CGAffineTransform(scaleX: 0.0, y: 1.0)
154 |                 if fadeIn { self?.layer.opacity = 0.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:156:93: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
149 |         UIView.animateKeyframes(withDuration: duration,
150 |                                 delay: delay,
151 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
152 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
153 |                 self?.transform = CGAffineTransform(scaleX: 0.0, y: 1.0)
154 |                 if fadeIn { self?.layer.opacity = 0.0 }
155 |             }
156 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |                                                                                             |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                             `- note: explicitly assign the capture list item to silence
157 |                 self?.transform = .identity
158 |                 if fadeIn { self?.layer.opacity = 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:149:9: error: 'UIView' is unavailable in watchOS
147 |
148 |     func expandFromX(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
149 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
150 |                                 delay: delay,
151 |                                 options: []) {
/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/Placard/UIView+Animations.swift:152:13: error: 'UIView' is unavailable in watchOS
150 |                                 delay: delay,
151 |                                 options: []) {
152 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
153 |                 self?.transform = CGAffineTransform(scaleX: 0.0, y: 1.0)
154 |                 if fadeIn { self?.layer.opacity = 0.0 }
/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/Placard/UIView+Animations.swift:156:13: error: 'UIView' is unavailable in watchOS
154 |                 if fadeIn { self?.layer.opacity = 0.0 }
155 |             }
156 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
157 |                 self?.transform = .identity
158 |                 if fadeIn { self?.layer.opacity = 1.0 }
/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/Placard/UIView+Animations.swift:167:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
164 |         UIView.animateKeyframes(withDuration: duration,
165 |                                 delay: delay,
166 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
167 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
168 |                 self?.transform = CGAffineTransform(scaleX: 1.0, y: 0.0)
169 |                 if fadeIn { self?.layer.opacity = 0.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:171:93: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
164 |         UIView.animateKeyframes(withDuration: duration,
165 |                                 delay: delay,
166 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
167 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
168 |                 self?.transform = CGAffineTransform(scaleX: 1.0, y: 0.0)
169 |                 if fadeIn { self?.layer.opacity = 0.0 }
170 |             }
171 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |                                                                                             |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                             `- note: explicitly assign the capture list item to silence
172 |                 self?.transform = .identity
173 |                 if fadeIn { self?.layer.opacity = 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:164:9: error: 'UIView' is unavailable in watchOS
162 |
163 |     func expandFromY(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
164 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
165 |                                 delay: delay,
166 |                                 options: []) {
/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/Placard/UIView+Animations.swift:167:13: error: 'UIView' is unavailable in watchOS
165 |                                 delay: delay,
166 |                                 options: []) {
167 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
168 |                 self?.transform = CGAffineTransform(scaleX: 1.0, y: 0.0)
169 |                 if fadeIn { self?.layer.opacity = 0.0 }
/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/Placard/UIView+Animations.swift:171:13: error: 'UIView' is unavailable in watchOS
169 |                 if fadeIn { self?.layer.opacity = 0.0 }
170 |             }
171 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
172 |                 self?.transform = .identity
173 |                 if fadeIn { self?.layer.opacity = 1.0 }
/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/Placard/UIView+Animations.swift:182:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
179 |         UIView.animateKeyframes(withDuration: duration,
180 |                                 delay: delay,
181 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
182 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
183 |                 self?.transform = CGAffineTransform(scaleX: 0.0, y: 0.0)
184 |                 if fadeIn { self?.layer.opacity = 0.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:186:93: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
179 |         UIView.animateKeyframes(withDuration: duration,
180 |                                 delay: delay,
181 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
182 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
183 |                 self?.transform = CGAffineTransform(scaleX: 0.0, y: 0.0)
184 |                 if fadeIn { self?.layer.opacity = 0.0 }
185 |             }
186 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |                                                                                             |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                             `- note: explicitly assign the capture list item to silence
187 |                 self?.transform = .identity
188 |                 if fadeIn { self?.layer.opacity = 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:179:9: error: 'UIView' is unavailable in watchOS
177 |
178 |     func expandFromPoint(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
179 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
180 |                                 delay: delay,
181 |                                 options: []) {
/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/Placard/UIView+Animations.swift:182:13: error: 'UIView' is unavailable in watchOS
180 |                                 delay: delay,
181 |                                 options: []) {
182 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
183 |                 self?.transform = CGAffineTransform(scaleX: 0.0, y: 0.0)
184 |                 if fadeIn { self?.layer.opacity = 0.0 }
/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/Placard/UIView+Animations.swift:186:13: error: 'UIView' is unavailable in watchOS
184 |                 if fadeIn { self?.layer.opacity = 0.0 }
185 |             }
186 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
187 |                 self?.transform = .identity
188 |                 if fadeIn { self?.layer.opacity = 1.0 }
/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/Placard/UIView+Animations.swift:197:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
194 |         UIView.animateKeyframes(withDuration: duration,
195 |                                 delay: delay,
196 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
197 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
198 |                 if fadeIn { self?.layer.opacity = 0.0 }
199 |                 self?.transform = CGAffineTransform(scaleX: 1.0, y: -1.0)
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:201:93: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
194 |         UIView.animateKeyframes(withDuration: duration,
195 |                                 delay: delay,
196 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
197 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
198 |                 if fadeIn { self?.layer.opacity = 0.0 }
199 |                 self?.transform = CGAffineTransform(scaleX: 1.0, y: -1.0)
200 |             }
201 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |                                                                                             |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                             `- note: explicitly assign the capture list item to silence
202 |                 if fadeIn { self?.layer.opacity = 1.0 }
203 |                 self?.transform = .identity
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:194:9: error: 'UIView' is unavailable in watchOS
192 |
193 |     func spinInOnX(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
194 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
195 |                                 delay: delay,
196 |                                 options: []) {
/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/Placard/UIView+Animations.swift:197:13: error: 'UIView' is unavailable in watchOS
195 |                                 delay: delay,
196 |                                 options: []) {
197 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
198 |                 if fadeIn { self?.layer.opacity = 0.0 }
199 |                 self?.transform = CGAffineTransform(scaleX: 1.0, y: -1.0)
/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/Placard/UIView+Animations.swift:201:13: error: 'UIView' is unavailable in watchOS
199 |                 self?.transform = CGAffineTransform(scaleX: 1.0, y: -1.0)
200 |             }
201 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
202 |                 if fadeIn { self?.layer.opacity = 1.0 }
203 |                 self?.transform = .identity
/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/Placard/UIView+Animations.swift:212:89: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
209 |         UIView.animateKeyframes(withDuration: duration,
210 |                                 delay: delay,
211 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
212 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |                                                                                         |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                         `- note: explicitly assign the capture list item to silence
213 |                 if fadeIn { self?.layer.opacity = 0.0 }
214 |                 self?.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:216:93: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
209 |         UIView.animateKeyframes(withDuration: duration,
210 |                                 delay: delay,
211 |                                 options: []) {
    |                                              |- note: 'self' implicitly strongly captured here
    |                                              `- note: add 'self' as a capture list item to silence
212 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
213 |                 if fadeIn { self?.layer.opacity = 0.0 }
214 |                 self?.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
215 |             }
216 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |                                                                                             |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#ImplicitStrongCapture]
    |                                                                                             `- note: explicitly assign the capture list item to silence
217 |                 if fadeIn { self?.layer.opacity = 1.0 }
218 |                 self?.transform = .identity
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:209:9: error: 'UIView' is unavailable in watchOS
207 |
208 |     func spinInOnY(delay: TimeInterval = 0.0, duration: TimeInterval = 0.2, fadeIn: Bool = false) {
209 |         UIView.animateKeyframes(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
210 |                                 delay: delay,
211 |                                 options: []) {
/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/Placard/UIView+Animations.swift:212:13: error: 'UIView' is unavailable in watchOS
210 |                                 delay: delay,
211 |                                 options: []) {
212 |             UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
213 |                 if fadeIn { self?.layer.opacity = 0.0 }
214 |                 self?.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
/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/Placard/UIView+Animations.swift:216:13: error: 'UIView' is unavailable in watchOS
214 |                 self?.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
215 |             }
216 |             UIView.addKeyframe(withRelativeStartTime: 0.165, relativeDuration: 1.5) { [weak self] in
    |             `- error: 'UIView' is unavailable in watchOS
217 |                 if fadeIn { self?.layer.opacity = 1.0 }
218 |                 self?.transform = .identity
/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/Placard/UIView+Animations.swift:242:28: error: 'UIScreen' is unavailable in watchOS
240 |     func floatUpOut() {
241 |         let b = self.bounds
242 |         let screenHeight = UIScreen.main.bounds.height
    |                            `- error: 'UIScreen' is unavailable in watchOS
243 |         self.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: -screenHeight)
244 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:242:37: error: 'main' is unavailable in watchOS
240 |     func floatUpOut() {
241 |         let b = self.bounds
242 |         let screenHeight = UIScreen.main.bounds.height
    |                                     `- error: 'main' is unavailable in watchOS
243 |         self.layer.frame = CGRect(x: b.minX, y: b.minY, width: b.width, height: -screenHeight)
244 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:248:28: error: 'UIScreen' is unavailable in watchOS
246 |     func floatDownOut(duration: TimeInterval = 0.2) {
247 |         let b = self.bounds
248 |         let screenHeight = UIScreen.main.bounds.height
    |                            `- error: 'UIScreen' is unavailable in watchOS
249 |         self.layer.frame = CGRect(x: b.minX, y: b.maxY, width: b.width, height: screenHeight)
250 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:248:37: error: 'main' is unavailable in watchOS
246 |     func floatDownOut(duration: TimeInterval = 0.2) {
247 |         let b = self.bounds
248 |         let screenHeight = UIScreen.main.bounds.height
    |                                     `- error: 'main' is unavailable in watchOS
249 |         self.layer.frame = CGRect(x: b.minX, y: b.maxY, width: b.width, height: screenHeight)
250 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:254:27: error: 'UIScreen' is unavailable in watchOS
252 |     func floatLeftOut() {
253 |         let b = self.bounds
254 |         let screenWidth = UIScreen.main.bounds.width
    |                           `- error: 'UIScreen' is unavailable in watchOS
255 |         self.layer.frame = CGRect(x: 0, y: 0, width: -screenWidth, height: b.height)
256 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:254:36: error: 'main' is unavailable in watchOS
252 |     func floatLeftOut() {
253 |         let b = self.bounds
254 |         let screenWidth = UIScreen.main.bounds.width
    |                                    `- error: 'main' is unavailable in watchOS
255 |         self.layer.frame = CGRect(x: 0, y: 0, width: -screenWidth, height: b.height)
256 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:260:27: error: 'UIScreen' is unavailable in watchOS
258 |     func floatRightOut() {
259 |         let b = self.bounds
260 |         let screenWidth = UIScreen.main.bounds.width
    |                           `- error: 'UIScreen' is unavailable in watchOS
261 |         self.layer.frame = CGRect(x: screenWidth, y: 0, width: screenWidth, height: b.height)
262 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:260:36: error: 'main' is unavailable in watchOS
258 |     func floatRightOut() {
259 |         let b = self.bounds
260 |         let screenWidth = UIScreen.main.bounds.width
    |                                    `- error: 'main' is unavailable in watchOS
261 |         self.layer.frame = CGRect(x: screenWidth, y: 0, width: screenWidth, height: b.height)
262 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:303:9: error: 'UIView' is unavailable in watchOS
301 |         let offsetScale = 1.0 - offset
302 |         self.transform = CGAffineTransform(scaleX: offsetScale, y: offsetScale)
303 |         UIView.animate(withDuration: duration,
    |         `- error: 'UIView' is unavailable in watchOS
304 |                        delay: 0.0,
305 |                        usingSpringWithDamping: CGFloat(0.20),
/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.
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift (in target 'Placard' from project 'Placard')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UIView+Animations.swift
SwiftCompile normal arm64 Compiling\ Placard.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift (in target 'Placard' from project 'Placard')
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:36:23: error: 'UIWindow' is unavailable in watchOS
 34 |
 35 |     // get the top window to ensure that other views don't obscure actions
 36 |     var activeWindow: UIWindow? {
    |                       `- error: 'UIWindow' is unavailable in watchOS
 37 |         let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene
 38 |         return windowScene?.windows.last
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:50:29: error: 'NSLayoutConstraint' is unavailable in watchOS
 48 |     var minimumHeight: CGFloat = 0.0
 49 |
 50 |     var verticalConstraint: NSLayoutConstraint?
    |                             `- error: 'NSLayoutConstraint' is unavailable in watchOS
 51 |     var heightConstraint: NSLayoutConstraint?
 52 |
/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/Placard/Placard.swift:51:27: error: 'NSLayoutConstraint' is unavailable in watchOS
 49 |
 50 |     var verticalConstraint: NSLayoutConstraint?
 51 |     var heightConstraint: NSLayoutConstraint?
    |                           `- error: 'NSLayoutConstraint' is unavailable in watchOS
 52 |
 53 |     private let screenDims = UIScreen.main.bounds
/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/Placard/Placard.swift:53:30: error: 'UIScreen' is unavailable in watchOS
 51 |     var heightConstraint: NSLayoutConstraint?
 52 |
 53 |     private let screenDims = UIScreen.main.bounds
    |                              `- error: 'UIScreen' is unavailable in watchOS
 54 |
 55 |     var height: 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/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:53:39: error: 'main' is unavailable in watchOS
 51 |     var heightConstraint: NSLayoutConstraint?
 52 |
 53 |     private let screenDims = UIScreen.main.bounds
    |                                       `- error: 'main' is unavailable in watchOS
 54 |
 55 |     var height: 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/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:77:18: error: 'UIView' is unavailable in watchOS
 75 |     var action: TapAction?
 76 |
 77 |     var content: UIView?
    |                  `- error: 'UIView' is unavailable in watchOS
 78 |     var config: PlacardConfigP?
 79 |
/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/Placard/Placard.swift:84:18: error: 'UIView' is unavailable in watchOS
 82 |
 83 |     convenience init<T: PlacardConfigP>(
 84 |         content: UIView,
    |                  `- error: 'UIView' is unavailable in watchOS
 85 |         config: T,
 86 |         title: String = "",
/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/Placard/Placard.swift:24:29: error: 'UIView' is unavailable in watchOS
 22 |  Placard allows you to choose default message themes for things such as priority-based messages, but also offers customization via either parameters, a configuration object, or you can use your own SwiftUI view and let Placard control its animations and appearance. The Placard can be configured to display for any period of time (by default, it displays forever - or until a user taps on it). Further, all Placard messages can given an action to perform on user tap (but not if Placard dismisses itself via a timeout).
 23 |  */
 24 | public final class Placard: UIView {
    |                             `- error: 'UIView' is unavailable in watchOS
 25 |
 26 |     let logger = Logger(subsystem: Logger.subsystem, category: "Placard")
/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/Placard/Placard.swift:181:33: error: 'UITapGestureRecognizer' is unavailable in watchOS
179 |     /// Fires the action that might be associated with a Placard.
180 |     /// - Parameter sender: UITapGestureRecognizer
181 |     @objc func tapped(_ sender: UITapGestureRecognizer) {
    |                                 `- error: 'UITapGestureRecognizer' is unavailable in watchOS
182 |         if sender.state == .ended {
183 |             let tapAnimation = config?.tapAnimation
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITapGestureRecognizer.h:23:12: note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
23 | @interface UITapGestureRecognizer : UIGestureRecognizer
   |            `- note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
24 |
25 | @property (nonatomic) NSUInteger  numberOfTapsRequired;       // Default is 1. The number of taps required to match
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:37:74: error: 'UIWindowScene' is unavailable in watchOS
 35 |     // get the top window to ensure that other views don't obscure actions
 36 |     var activeWindow: UIWindow? {
 37 |         let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene
    |                                                                          `- error: 'UIWindowScene' is unavailable in watchOS
 38 |         return windowScene?.windows.last
 39 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScene.h:22:12: note: 'UIWindowScene' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindowScene : UIScene
    |            `- note: 'UIWindowScene' has been explicitly marked unavailable here
 23 |
 24 | #pragma mark Geometry
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift (in target 'Placard' from project 'Placard')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Placard.swift
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ Placard (in target 'Placard' from project 'Placard')
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:38:36: error: 'UIDeviceOrientation' is unavailable in watchOS
 36 |     ///
 37 |     /// - Returns: UIDeviceOrientation
 38 |     func getDeviceOrientation() -> UIDeviceOrientation {
    |                                    `- error: 'UIDeviceOrientation' is unavailable in watchOS
 39 |         let identifier: String = Logger.subsystem
 40 |         var orientation = UIDevice.current.orientation
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h:13:28: note: 'UIDeviceOrientation' has been explicitly marked unavailable here
11 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
12 |
13 | typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
   |                            `- note: 'UIDeviceOrientation' has been explicitly marked unavailable here
14 |     UIDeviceOrientationUnknown,
15 |     UIDeviceOrientationPortrait,            // Device oriented vertically, home button on the bottom
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:36:23: error: 'UIWindow' is unavailable in watchOS
 34 |
 35 |     // get the top window to ensure that other views don't obscure actions
 36 |     var activeWindow: UIWindow? {
    |                       `- error: 'UIWindow' is unavailable in watchOS
 37 |         let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene
 38 |         return windowScene?.windows.last
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:50:29: error: 'NSLayoutConstraint' is unavailable in watchOS
 48 |     var minimumHeight: CGFloat = 0.0
 49 |
 50 |     var verticalConstraint: NSLayoutConstraint?
    |                             `- error: 'NSLayoutConstraint' is unavailable in watchOS
 51 |     var heightConstraint: NSLayoutConstraint?
 52 |
/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/Placard/Placard.swift:51:27: error: 'NSLayoutConstraint' is unavailable in watchOS
 49 |
 50 |     var verticalConstraint: NSLayoutConstraint?
 51 |     var heightConstraint: NSLayoutConstraint?
    |                           `- error: 'NSLayoutConstraint' is unavailable in watchOS
 52 |
 53 |     private let screenDims = UIScreen.main.bounds
/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/Placard/Placard.swift:53:30: error: 'UIScreen' is unavailable in watchOS
 51 |     var heightConstraint: NSLayoutConstraint?
 52 |
 53 |     private let screenDims = UIScreen.main.bounds
    |                              `- error: 'UIScreen' is unavailable in watchOS
 54 |
 55 |     var height: 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/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:53:39: error: 'main' is unavailable in watchOS
 51 |     var heightConstraint: NSLayoutConstraint?
 52 |
 53 |     private let screenDims = UIScreen.main.bounds
    |                                       `- error: 'main' is unavailable in watchOS
 54 |
 55 |     var height: 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/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift:77:18: error: 'UIView' is unavailable in watchOS
 75 |     var action: TapAction?
 76 |
 77 |     var content: UIView?
    |                  `- error: 'UIView' is unavailable in watchOS
 78 |     var config: PlacardConfigP?
 79 |
/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/Placard/Placard.swift:84:18: error: 'UIView' is unavailable in watchOS
 82 |
 83 |     convenience init<T: PlacardConfigP>(
 84 |         content: UIView,
    |                  `- error: 'UIView' is unavailable in watchOS
 85 |         config: T,
 86 |         title: String = "",
/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/Placard/Placard.swift:24:29: error: 'UIView' is unavailable in watchOS
 22 |  Placard allows you to choose default message themes for things such as priority-based messages, but also offers customization via either parameters, a configuration object, or you can use your own SwiftUI view and let Placard control its animations and appearance. The Placard can be configured to display for any period of time (by default, it displays forever - or until a user taps on it). Further, all Placard messages can given an action to perform on user tap (but not if Placard dismisses itself via a timeout).
 23 |  */
 24 | public final class Placard: UIView {
    |                             `- error: 'UIView' is unavailable in watchOS
 25 |
 26 |     let logger = Logger(subsystem: Logger.subsystem, category: "Placard")
/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/Placard/Placard.swift:181:33: error: 'UITapGestureRecognizer' is unavailable in watchOS
179 |     /// Fires the action that might be associated with a Placard.
180 |     /// - Parameter sender: UITapGestureRecognizer
181 |     @objc func tapped(_ sender: UITapGestureRecognizer) {
    |                                 `- error: 'UITapGestureRecognizer' is unavailable in watchOS
182 |         if sender.state == .ended {
183 |             let tapAnimation = config?.tapAnimation
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITapGestureRecognizer.h:23:12: note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
23 | @interface UITapGestureRecognizer : UIGestureRecognizer
   |            `- note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
24 |
25 | @property (nonatomic) NSUInteger  numberOfTapsRequired;       // Default is 1. The number of taps required to match
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:257:26: error: 'UIView' is unavailable in watchOS
255 |     private var priority: PlacardPriority?
256 |
257 |     private let content: UIView
    |                          `- error: 'UIView' is unavailable in watchOS
258 |
259 |     public init(title: String,
/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/Placard/PlacardView.swift:324:37: error: cannot find type 'Context' in scope
322 |     }
323 |
324 |     public func makeUIView(context: Context) -> UIView {
    |                                     `- error: cannot find type 'Context' in scope
325 |         return UIView()
326 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:324:49: error: 'UIView' is unavailable in watchOS
322 |     }
323 |
324 |     public func makeUIView(context: Context) -> UIView {
    |                                                 `- error: 'UIView' is unavailable in watchOS
325 |         return UIView()
326 |     }
/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/Placard/PlacardView.swift:328:57: error: cannot find type 'Context' in scope
326 |     }
327 |
328 |     public func updateUIView(_ uiView: UIView, context: Context) {
    |                                                         `- error: cannot find type 'Context' in scope
329 |         content.translatesAutoresizingMaskIntoConstraints = false
330 |         _=Placard(content: content, config: config, title: title, statusMessage: statusMessage, duration: duration, action: action)
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:328:40: error: 'UIView' is unavailable in watchOS
326 |     }
327 |
328 |     public func updateUIView(_ uiView: UIView, context: Context) {
    |                                        `- error: 'UIView' is unavailable in watchOS
329 |         content.translatesAutoresizingMaskIntoConstraints = false
330 |         _=Placard(content: content, config: config, title: title, statusMessage: statusMessage, duration: duration, action: action)
/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/Placard/PlacardView.swift:248:36: error: cannot find type 'UIViewRepresentable' in scope
246 |  */
247 | /// View handler for provided placard views (handles the processing of both  PlacardPriorityView and PlacardView)
248 | public struct PlacardPriorityView: UIViewRepresentable {
    |                                    `- error: cannot find type 'UIViewRepresentable' in scope
249 |     private let title: String
250 |     private let statusMessage: String
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:338:26: error: 'UIView' is unavailable in watchOS
336 |     private let title: String
337 |     private let statusMessage: String
338 |     private let content: UIView
    |                          `- error: 'UIView' is unavailable in watchOS
339 |     private var config: PlacardConfigP?
340 |     private var delay: Double
/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/Placard/PlacardView.swift:364:37: error: cannot find type 'Context' in scope
362 |     }
363 |
364 |     public func makeUIView(context: Context) -> UIView {
    |                                     `- error: cannot find type 'Context' in scope
365 |         return UIView()
366 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:364:49: error: 'UIView' is unavailable in watchOS
362 |     }
363 |
364 |     public func makeUIView(context: Context) -> UIView {
    |                                                 `- error: 'UIView' is unavailable in watchOS
365 |         return UIView()
366 |     }
/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/Placard/PlacardView.swift:368:57: error: cannot find type 'Context' in scope
366 |     }
367 |
368 |     public func updateUIView(_ uiView: UIView, context: Context) {
    |                                                         `- error: cannot find type 'Context' in scope
369 |         content.translatesAutoresizingMaskIntoConstraints = false
370 |         let _config = self.config ?? PlacardConfigCase.default
/Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift:368:40: error: 'UIView' is unavailable in watchOS
366 |     }
367 |
368 |     public func updateUIView(_ uiView: UIView, context: Context) {
    |                                        `- error: 'UIView' is unavailable in watchOS
369 |         content.translatesAutoresizingMaskIntoConstraints = false
370 |         let _config = self.config ?? PlacardConfigCase.default
/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/Placard/PlacardView.swift:335:43: error: cannot find type 'UIViewRepresentable' in scope
333 |
334 | /// View handler for custom (user-provided) views
335 | public struct PlacardCustomView<Content>: UIViewRepresentable where Content: View {
    |                                           `- error: cannot find type 'UIViewRepresentable' in scope
336 |     private let title: String
337 |     private let statusMessage: String
/Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift:10:11: error: 'UIView' is unavailable in watchOS
  8 | import UIKit
  9 |
 10 | extension UIView {
    |           `- error: 'UIView' is unavailable in watchOS
 11 |     enum TextAlignment {
 12 |         case left, right, center
/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.
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/Placard/Placard+Constraints.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+Layout.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardConfig.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/PlacardView.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/UIView+Animations.swift -target arm64_32-apple-watchos10.0 -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/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64_32/Placard-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/Placard.build/Debug-watchos/Placard-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Placard -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64_32/Placard_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/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64_32/Placard.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64_32/Placard.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64_32/Placard-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64_32/Placard-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64_32/Placard-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64_32/Placard.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Placard.build/Debug-watchos/Placard-t.build/Objects-normal/arm64_32/Placard.abi.json
SwiftCompile normal arm64_32 (in target 'Placard' from project 'Placard')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64_32 Compiling\ Placard+DeviceOrientation.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift (in target 'Placard' from project 'Placard')
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:38:36: error: 'UIDeviceOrientation' is unavailable in watchOS
 36 |     ///
 37 |     /// - Returns: UIDeviceOrientation
 38 |     func getDeviceOrientation() -> UIDeviceOrientation {
    |                                    `- error: 'UIDeviceOrientation' is unavailable in watchOS
 39 |         let identifier: String = Logger.subsystem
 40 |         var orientation = UIDevice.current.orientation
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h:13:28: note: 'UIDeviceOrientation' has been explicitly marked unavailable here
11 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
12 |
13 | typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
   |                            `- note: 'UIDeviceOrientation' has been explicitly marked unavailable here
14 |     UIDeviceOrientationUnknown,
15 |     UIDeviceOrientationPortrait,            // Device oriented vertically, home button on the bottom
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:40:27: error: 'UIDevice' is unavailable in watchOS
 38 |     func getDeviceOrientation() -> UIDeviceOrientation {
 39 |         let identifier: String = Logger.subsystem
 40 |         var orientation = UIDevice.current.orientation
    |                           `- error: 'UIDevice' is unavailable in watchOS
 41 |
 42 |         if !orientation.isValidInterfaceOrientation {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:35:12: note: 'UIDevice' has been explicitly marked unavailable here
33 |
34 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
35 | @interface UIDevice : NSObject
   |            `- note: 'UIDevice' has been explicitly marked unavailable here
36 |
37 | @property(class, nonatomic, readonly) UIDevice *currentDevice;
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:42:25: error: 'isValidInterfaceOrientation' is unavailable in watchOS
 40 |         var orientation = UIDevice.current.orientation
 41 |
 42 |         if !orientation.isValidInterfaceOrientation {
    |                         `- error: 'isValidInterfaceOrientation' is unavailable in watchOS
 43 |             // Get the interface orientation incase the UIDevice Orientation doesn't exist.
 44 |             let interfaceOrientation: UIInterfaceOrientation?
UIKit.UIDeviceOrientation.isValidInterfaceOrientation:3:14: note: 'isValidInterfaceOrientation' has been explicitly marked unavailable here
1 | enum UIDeviceOrientation {
2 | @available(watchOS, unavailable)
3 |   public var isValidInterfaceOrientation: Bool { get }}
  |              `- note: 'isValidInterfaceOrientation' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:44:39: error: 'UIInterfaceOrientation' is unavailable in watchOS
 42 |         if !orientation.isValidInterfaceOrientation {
 43 |             // Get the interface orientation incase the UIDevice Orientation doesn't exist.
 44 |             let interfaceOrientation: UIInterfaceOrientation?
    |                                       `- error: 'UIInterfaceOrientation' is unavailable in watchOS
 45 |             if #available(iOS 15, *) {
 46 |                 interfaceOrientation = UIApplication.shared.connectedScenes
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h:41:28: note: 'UIInterfaceOrientation' has been explicitly marked unavailable here
39 | // Note that UIInterfaceOrientationLandscapeLeft is equal to UIDeviceOrientationLandscapeRight (and vice versa).
40 | // This is because rotating the device to the left requires rotating the content to the right.
41 | typedef NS_ENUM(NSInteger, UIInterfaceOrientation) {
   |                            `- note: 'UIInterfaceOrientation' has been explicitly marked unavailable here
42 |     UIInterfaceOrientationUnknown            = UIDeviceOrientationUnknown,
43 |     UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:46:40: error: 'UIApplication' is unavailable in watchOS
 44 |             let interfaceOrientation: UIInterfaceOrientation?
 45 |             if #available(iOS 15, *) {
 46 |                 interfaceOrientation = UIApplication.shared.connectedScenes
    |                                        `- error: 'UIApplication' is unavailable in watchOS
 47 |                 // Keep only the first `UIWindowScene`
 48 |                     .first(where: { $0 is UIWindowScene })
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:46:61: error: 'connectedScenes' is unavailable in watchOS
 44 |             let interfaceOrientation: UIInterfaceOrientation?
 45 |             if #available(iOS 15, *) {
 46 |                 interfaceOrientation = UIApplication.shared.connectedScenes
    |                                                             `- error: 'connectedScenes' is unavailable in watchOS
 47 |                 // Keep only the first `UIWindowScene`
 48 |                     .first(where: { $0 is UIWindowScene })
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:189:50: note: 'connectedScenes' has been explicitly marked unavailable here
187 | #pragma mark -- UIScene --
188 | // All of the currently connected UIScene instances
189 | @property(nonatomic, readonly) NSSet<UIScene *> *connectedScenes API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
    |                                                  `- note: 'connectedScenes' has been explicitly marked unavailable here
190 |
191 | // All of the representations that currently have connected UIScene instances or had their sessions persisted by the system (ex: visible in iOS' switcher)
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:48:43: error: 'UIWindowScene' is unavailable in watchOS
 46 |                 interfaceOrientation = UIApplication.shared.connectedScenes
 47 |                 // Keep only the first `UIWindowScene`
 48 |                     .first(where: { $0 is UIWindowScene })
    |                                           `- error: 'UIWindowScene' is unavailable in watchOS
 49 |                 // Get its associated windows
 50 |                     .flatMap({ $0 as? UIWindowScene })?.interfaceOrientation
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScene.h:22:12: note: 'UIWindowScene' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindowScene : UIScene
    |            `- note: 'UIWindowScene' has been explicitly marked unavailable here
 23 |
 24 | #pragma mark Geometry
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:50:39: error: 'UIWindowScene' is unavailable in watchOS
 48 |                     .first(where: { $0 is UIWindowScene })
 49 |                 // Get its associated windows
 50 |                     .flatMap({ $0 as? UIWindowScene })?.interfaceOrientation
    |                                       `- error: 'UIWindowScene' is unavailable in watchOS
 51 |             } else {
 52 |                 interfaceOrientation = UIApplication.shared.windows.first?.windowScene?.interfaceOrientation
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScene.h:22:12: note: 'UIWindowScene' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindowScene : UIScene
    |            `- note: 'UIWindowScene' has been explicitly marked unavailable here
 23 |
 24 | #pragma mark Geometry
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:52:40: error: 'UIApplication' is unavailable in watchOS
 50 |                     .flatMap({ $0 as? UIWindowScene })?.interfaceOrientation
 51 |             } else {
 52 |                 interfaceOrientation = UIApplication.shared.windows.first?.windowScene?.interfaceOrientation
    |                                        `- error: 'UIApplication' is unavailable in watchOS
 53 |             }
 54 |             guard interfaceOrientation != nil else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:52:61: error: 'windows' is unavailable in watchOS
 50 |                     .flatMap({ $0 as? UIWindowScene })?.interfaceOrientation
 51 |             } else {
 52 |                 interfaceOrientation = UIApplication.shared.windows.first?.windowScene?.interfaceOrientation
    |                                                             `- error: 'windows' is unavailable in watchOS
 53 |             }
 54 |             guard interfaceOrientation != nil else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:109:62: note: 'windows' has been explicitly marked unavailable here
107 |
108 | @property(nullable, nonatomic,readonly) UIWindow *keyWindow API_DEPRECATED("Should not be used for applications that support multiple scenes as it returns a key window across all connected scenes", ios(2.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
109 | @property(nonatomic,readonly) NSArray<__kindof UIWindow *>  *windows API_DEPRECATED("Use UIWindowScene.windows on a relevant window scene instead", ios(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
    |                                                              `- note: 'windows' has been explicitly marked unavailable here
110 |
111 | - (BOOL)sendAction:(SEL)action to:(nullable id)target from:(nullable id)sender forEvent:(nullable UIEvent *)event;
/Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift:52:76: error: 'windowScene' is unavailable in watchOS
 50 |                     .flatMap({ $0 as? UIWindowScene })?.interfaceOrientation
 51 |             } else {
 52 |                 interfaceOrientation = UIApplication.shared.windows.first?.windowScene?.interfaceOrientation
    |                                                                            `- error: 'windowScene' is unavailable in watchOS
 53 |             }
 54 |             guard interfaceOrientation != nil else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:32:53: note: 'windowScene' has been explicitly marked unavailable here
 30 | // If nil, window will not appear on any screen.
 31 | // changing the UIWindowScene may be an expensive operation and should not be done in performance-sensitive code
 32 | @property(nullable, nonatomic, weak) UIWindowScene *windowScene API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
    |                                                     `- note: 'windowScene' has been explicitly marked unavailable here
 33 |
 34 | // Indicates whether content should drive the size of arbitrarily resizable windows (which are currently present only on macOS).
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+DeviceOrientation.swift (in target 'Placard' from project 'Placard')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Placard+DeviceOrientation.swift
SwiftCompile normal arm64_32 Compiling\ Placard+Layout.swift /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+Layout.swift (in target 'Placard' from project 'Placard')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Placard/Placard+Layout.swift (in target 'Placard' from project 'Placard')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Placard+Layout.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-21 04:07:49.077 xcodebuild[855:4892] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftEmitModule normal arm64 Emitting\ module\ for\ Placard (in target 'Placard' from project 'Placard')
	SwiftCompile normal arm64 (in target 'Placard' from project 'Placard')
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ Placard (in target 'Placard' from project 'Placard')
	SwiftCompile normal arm64_32 (in target 'Placard' from project 'Placard')
	Building workspace Placard with scheme Placard
(5 failures)
BUILD FAILURE 6.4 watchOS