The Swift Package Index logo.Swift Package Index

Build Information

Failed to build PhotoPreview, reference 1.1.0 (dff22c), with Swift 6.4 for watchOS using Xcode 27.0 on 21 Sep 2026 21:32:06 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 PhotoPreview -destination generic/platform=watchOS

Build Log

/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/PhotoPreview/PhotoPreviewCell.swift:136:60: error: 'main' is unavailable in watchOS
134 |     // Calculates the aspect fit rect to maintain content's aspect ratio while ensuring full visibility
135 |     static func calculateAspectFitRect(for imageSize: CGSize) -> CGRect {
136 |         let containerSize: CGSize = CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
    |                                                            `- error: 'main' is unavailable in watchOS
137 |         // Calculate aspect ratios
138 |         let imageAspectRatio = imageSize.width / imageSize.height
/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/PhotoPreview/PhotoPreviewCell.swift:136:87: error: 'UIScreen' is unavailable in watchOS
134 |     // Calculates the aspect fit rect to maintain content's aspect ratio while ensuring full visibility
135 |     static func calculateAspectFitRect(for imageSize: CGSize) -> CGRect {
136 |         let containerSize: CGSize = CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
    |                                                                                       `- error: 'UIScreen' is unavailable in watchOS
137 |         // Calculate aspect ratios
138 |         let imageAspectRatio = imageSize.width / imageSize.height
/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/PhotoPreview/PhotoPreviewCell.swift:136:96: error: 'main' is unavailable in watchOS
134 |     // Calculates the aspect fit rect to maintain content's aspect ratio while ensuring full visibility
135 |     static func calculateAspectFitRect(for imageSize: CGSize) -> CGRect {
136 |         let containerSize: CGSize = CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
    |                                                                                                `- error: 'main' is unavailable in watchOS
137 |         // Calculate aspect ratios
138 |         let imageAspectRatio = imageSize.width / imageSize.height
/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/PhotoPreview/PhotoPreviewCell.swift:193:13: error: 'UIView' is unavailable in watchOS
191 |         if animated {
192 |             imageView.alpha = 0.0
193 |             UIView.animate(withDuration: 0.5) {
    |             `- error: 'UIView' is unavailable in watchOS
194 |                 self.imageView.alpha = 1.0
195 |             }
/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/PhotoPreview/PhotoPreviewCell.swift (in target 'PhotoPreview' from project 'PhotoPreview')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PhotoPreviewCell.swift
SwiftCompile normal arm64 Compiling\ PanDirectionGestureRecognizer.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift (in target 'PhotoPreview' from project 'PhotoPreview')
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift:23:47: error: 'UITouch' is unavailable in watchOS
21 |     }
22 |
23 |     override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                               `- error: 'UITouch' is unavailable in watchOS
24 |         super.touchesMoved(touches, with: event)
25 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift:23:69: error: 'UIEvent' is unavailable in watchOS
21 |     }
22 |
23 |     override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                     `- error: 'UIEvent' is unavailable in watchOS
24 |         super.touchesMoved(touches, with: event)
25 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift (in target 'PhotoPreview' from project 'PhotoPreview')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PanDirectionGestureRecognizer.swift
SwiftCompile normal arm64 Compiling\ PhotoPreview.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreview.swift (in target 'PhotoPreview' from project 'PhotoPreview')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreview.swift (in target 'PhotoPreview' from project 'PhotoPreview')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PhotoPreview.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ PhotoPreview (in target 'PhotoPreview' from project 'PhotoPreview')
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/CustomImageView.swift:7:30: error: 'UIActivityIndicatorView' is unavailable in watchOS
 5 |
 6 |     private var imageURL: String? = nil
 7 |     private var loadingView: UIActivityIndicatorView = UIActivityIndicatorView(style: .medium)
   |                              `- error: 'UIActivityIndicatorView' is unavailable in watchOS
 8 |
 9 |     private func setupLoadingIndicator() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h:24:12: note: 'UIActivityIndicatorView' has been explicitly marked unavailable here
22 |
23 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
24 | @interface UIActivityIndicatorView : UIView <NSCoding>
   |            `- note: 'UIActivityIndicatorView' has been explicitly marked unavailable here
25 |
26 | - (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style NS_DESIGNATED_INITIALIZER; // sizes the view according to the style
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/CustomImageView.swift:7:56: error: 'UIActivityIndicatorView' is unavailable in watchOS
 5 |
 6 |     private var imageURL: String? = nil
 7 |     private var loadingView: UIActivityIndicatorView = UIActivityIndicatorView(style: .medium)
   |                                                        `- error: 'UIActivityIndicatorView' is unavailable in watchOS
 8 |
 9 |     private func setupLoadingIndicator() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h:24:12: note: 'UIActivityIndicatorView' has been explicitly marked unavailable here
22 |
23 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
24 | @interface UIActivityIndicatorView : UIView <NSCoding>
   |            `- note: 'UIActivityIndicatorView' has been explicitly marked unavailable here
25 |
26 | - (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style NS_DESIGNATED_INITIALIZER; // sizes the view according to the style
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/CustomImageView.swift:7:88: error: 'medium' is unavailable in watchOS
 5 |
 6 |     private var imageURL: String? = nil
 7 |     private var loadingView: UIActivityIndicatorView = UIActivityIndicatorView(style: .medium)
   |                                                                                        `- error: 'medium' is unavailable in watchOS
 8 |
 9 |     private func setupLoadingIndicator() {
UIKit.UIActivityIndicatorView.Style.medium:4:10: note: 'medium' has been explicitly marked unavailable here
2 |   enum Style {
3 | @available(watchOS, unavailable)
4 |     case medium  }
  |          `- note: 'medium' has been explicitly marked unavailable here
5 | }
6 |
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/CustomImageView.swift:4:24: error: 'UIImageView' is unavailable in watchOS
 2 | import UIKit
 3 |
 4 | class CustomImageView: UIImageView {
   |                        `- error: 'UIImageView' is unavailable in watchOS
 5 |
 6 |     private var imageURL: String? = nil
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
 19 |
 20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 21 | @interface UIImageView : UIView
    |            `- note: 'UIImageView' has been explicitly marked unavailable here
 22 |
 23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DimmingPresentationController.swift:12:27: error: 'UIView' is unavailable in watchOS
10 | class DimmingPresentationController: UIPresentationController {
11 |
12 |     lazy var background = UIView(frame: .zero)
   |                           `- error: 'UIView' is unavailable in watchOS
13 |
14 |     override var shouldRemovePresentersView: Bool {
/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/PhotoPreview/DimmingPresentationController.swift:10:38: error: 'UIPresentationController' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | class DimmingPresentationController: UIPresentationController {
   |                                      `- error: 'UIPresentationController' is unavailable in watchOS
11 |
12 |     lazy var background = UIView(frame: .zero)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h:65:12: note: 'UIPresentationController' has been explicitly marked unavailable here
 63 |
 64 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 65 | @interface UIPresentationController : NSObject <UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIPresentationController' has been explicitly marked unavailable here
 66 |
 67 | @property(nonatomic, strong, readonly) UIViewController *presentingViewController;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DismissingAnimator.swift:22:59: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
20 |     }
21 |
22 |     func transitionDuration(using transitionContext: (any UIViewControllerContextTransitioning)?) -> TimeInterval {
   |                                                           `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
23 |         return animationDuration
24 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 66 |
 67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 68 | @protocol UIViewControllerContextTransitioning <NSObject>
    |           `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DismissingAnimator.swift:26:57: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
24 |     }
25 |
26 |     func animateTransition(using transitionContext: any UIViewControllerContextTransitioning) {
   |                                                         `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
27 |         guard let fromVC = transitionContext.viewController(forKey: .from) else {
28 |             transitionContext.completeTransition(false)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 66 |
 67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 68 | @protocol UIViewControllerContextTransitioning <NSObject>
    |           `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DismissingAnimator.swift:12:37: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
10 | import SDWebImage
11 |
12 | class DismissingAnimator: NSObject, UIViewControllerAnimatedTransitioning {
   |                                     `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
13 |     private let imageInfo: ImageInfo
14 |     private let animationDuration: TimeInterval = 0.2
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift:23:47: error: 'UITouch' is unavailable in watchOS
21 |     }
22 |
23 |     override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                               `- error: 'UITouch' is unavailable in watchOS
24 |         super.touchesMoved(touches, with: event)
25 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift:23:69: error: 'UIEvent' is unavailable in watchOS
21 |     }
22 |
23 |     override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                     `- error: 'UIEvent' is unavailable in watchOS
24 |         super.touchesMoved(touches, with: event)
25 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift:14:38: error: 'UIPanGestureRecognizer' is unavailable in watchOS
12 | }
13 |
14 | class PanDirectionGestureRecognizer: UIPanGestureRecognizer {
   |                                      `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
15 |
16 |     let direction: PanDirection
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPanGestureRecognizer.h:31:12: note: 'UIPanGestureRecognizer' has been explicitly marked unavailable here
29 |
30 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
31 | @interface UIPanGestureRecognizer : UIGestureRecognizer
   |            `- note: 'UIPanGestureRecognizer' has been explicitly marked unavailable here
32 |
33 | @property (nonatomic)          NSUInteger minimumNumberOfTouches API_UNAVAILABLE(tvos);   // default is 1. the minimum number of touches required to match
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift:18:26: error: 'UIScrollView' is unavailable in watchOS
 16 |     }
 17 |
 18 |     open var scrollView: UIScrollView
    |                          `- error: 'UIScrollView' is unavailable in watchOS
 19 |     public let imageView: CustomImageView
 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/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
 85 |
 86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
    |            `- note: 'UIScrollView' has been explicitly marked unavailable here
 88 |
 89 | @property(nonatomic)         CGPoint                      contentOffset;                  // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift:125:51: error: 'UITapGestureRecognizer' is unavailable in watchOS
123 |     }
124 |
125 |     @objc public func doubleTapAction(recognizer: UITapGestureRecognizer) {
    |                                                   `- error: 'UITapGestureRecognizer' is unavailable in watchOS
126 |
127 |         if scrollView.zoomScale > scrollView.minimumZoomScale {
/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/PhotoPreview/PhotoPreviewCell.swift:10:25: error: 'UICollectionViewCell' is unavailable in watchOS
  8 | import UIKit
  9 |
 10 | class PhotoPreviewCell: UICollectionViewCell {
    |                         `- error: 'UICollectionViewCell' is unavailable in watchOS
 11 |
 12 |     var imageInfo: ImageInfo? {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h:65:12: note: 'UICollectionViewCell' has been explicitly marked unavailable here
 63 |
 64 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 65 | @interface UICollectionViewCell : UICollectionReusableView
    |            `- note: 'UICollectionViewCell' has been explicitly marked unavailable here
 66 |
 67 | /// Returns the current configuration state for the cell.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift:228:47: error: 'UIScrollView' is unavailable in watchOS
226 | extension PhotoPreviewCell: UIScrollViewDelegate {
227 |
228 |     public func viewForZooming(in scrollView: UIScrollView) -> UIView? {
    |                                               `- error: 'UIScrollView' is unavailable in watchOS
229 |         return imageView
230 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
 85 |
 86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
    |            `- note: 'UIScrollView' has been explicitly marked unavailable here
 88 |
 89 | @property(nonatomic)         CGPoint                      contentOffset;                  // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift:228:64: error: 'UIView' is unavailable in watchOS
226 | extension PhotoPreviewCell: UIScrollViewDelegate {
227 |
228 |     public func viewForZooming(in scrollView: UIScrollView) -> UIView? {
    |                                                                `- error: 'UIView' is unavailable in watchOS
229 |         return imageView
230 |     }
/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/PhotoPreview/PhotoPreviewCell.swift:232:49: error: 'UIScrollView' is unavailable in watchOS
230 |     }
231 |
232 |     public func scrollViewDidZoom(_ scrollView: UIScrollView) {
    |                                                 `- error: 'UIScrollView' is unavailable in watchOS
233 |
234 |         let imageViewSize = imageView.frame.size
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
 85 |
 86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
    |            `- note: 'UIScrollView' has been explicitly marked unavailable here
 88 |
 89 | @property(nonatomic)         CGPoint                      contentOffset;                  // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift:226:29: error: 'UIScrollViewDelegate' is unavailable in watchOS
224 |
225 | // MARK: UIScrollViewDelegate Methods
226 | extension PhotoPreviewCell: UIScrollViewDelegate {
    |                             `- error: 'UIScrollViewDelegate' is unavailable in watchOS
227 |
228 |     public func viewForZooming(in scrollView: UIScrollView) -> UIView? {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:312:11: note: 'UIScrollViewDelegate' has been explicitly marked unavailable here
310 |
311 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
312 | @protocol UIScrollViewDelegate<NSObject>
    |           `- note: 'UIScrollViewDelegate' has been explicitly marked unavailable here
313 |
314 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:49:22: error: 'UIView' is unavailable in watchOS
 47 |     let frame:CGRect?
 48 |     let size: CGSize
 49 |     let contentMode: UIView.ContentMode
    |                      `- error: 'UIView' is unavailable in watchOS
 50 |
 51 |     public init(image: PhotoPreviewImageProtocol,
/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/PhotoPreview/PhotoPreviewViewController.swift:54:23: error: 'UIView' is unavailable in watchOS
 52 |         frame:CGRect? = nil,
 53 |         size: CGSize,
 54 |          contentMode: UIView.ContentMode) {
    |                       `- error: 'UIView' is unavailable in watchOS
 55 |         self.image = image
 56 |         self.contentMode = contentMode
/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/PhotoPreview/PhotoPreviewViewController.swift:61:45: error: 'UIView' is unavailable in watchOS
 59 |     }
 60 |
 61 |     static func objectFit(from contentMode: UIView.ContentMode) -> String {
    |                                             `- error: 'UIView' is unavailable in watchOS
 62 |         switch contentMode {
 63 |         case .scaleToFill:
/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/PhotoPreview/PhotoPreviewViewController.swift:102:42: error: 'UICollectionView' is unavailable in watchOS
100 |     public weak var delegate: PhotoPreviewDelegate?
101 |
102 |     public lazy var imageCollectionView: UICollectionView = self.setupCollectionView()
    |                                          `- error: 'UICollectionView' is unavailable in watchOS
103 |
104 |     public var numberOfImages: Int {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:130:29: error: 'UICollectionViewFlowLayout' is unavailable in watchOS
128 |     }
129 |
130 |     private var flowLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    |                             `- error: 'UICollectionViewFlowLayout' is unavailable in watchOS
131 |
132 |     // MARK: Lifecycle methods
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewFlowLayout.h:46:12: note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UICollectionViewFlowLayout : UICollectionViewLayout
   |            `- note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
47 |
48 | @property (nonatomic) CGFloat minimumLineSpacing;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:130:58: error: 'UICollectionViewFlowLayout' is unavailable in watchOS
128 |     }
129 |
130 |     private var flowLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    |                                                          `- error: 'UICollectionViewFlowLayout' is unavailable in watchOS
131 |
132 |     // MARK: Lifecycle methods
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewFlowLayout.h:46:12: note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UICollectionViewFlowLayout : UICollectionViewLayout
   |            `- note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
47 |
48 | @property (nonatomic) CGFloat minimumLineSpacing;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:166:38: error: 'UIPanGestureRecognizer' is unavailable in watchOS
164 |     private var originalPosition: CGPoint?
165 |
166 |     @objc func wasDragged(_ gesture: UIPanGestureRecognizer) {
    |                                      `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
167 |         guard let imageView = gesture.view else { return }
168 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPanGestureRecognizer.h:31:12: note: 'UIPanGestureRecognizer' has been explicitly marked unavailable here
29 |
30 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
31 | @interface UIPanGestureRecognizer : UIGestureRecognizer
   |            `- note: 'UIPanGestureRecognizer' has been explicitly marked unavailable here
32 |
33 | @property (nonatomic)          NSUInteger minimumNumberOfTouches API_UNAVAILABLE(tvos);   // default is 1. the minimum number of touches required to match
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:203:51: error: 'UITapGestureRecognizer' is unavailable in watchOS
201 |     }
202 |
203 |     @objc public func singleTapAction(recognizer: UITapGestureRecognizer) {
    |                                                   `- error: 'UITapGestureRecognizer' is unavailable in watchOS
204 |         delegate?.didTapToClose(photoPreviewViewController: self)
205 |     }
/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/PhotoPreview/PhotoPreviewViewController.swift:209:43: error: 'UICollectionView' is unavailable in watchOS
207 |     // MARK: Private Methods
208 |
209 |     private func setupCollectionView() -> UICollectionView {
    |                                           `- error: 'UICollectionView' is unavailable in watchOS
210 |         // Set up flow layout
211 |         flowLayout.scrollDirection = UICollectionView.ScrollDirection.horizontal
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:88:42: error: 'UIViewController' is unavailable in watchOS
 86 | }
 87 |
 88 | public class PhotoPreviewViewController: UIViewController {
    |                                          `- error: 'UIViewController' is unavailable in watchOS
 89 |     var targetImage: Target?
 90 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:291:53: error: 'UICollectionView' is unavailable in watchOS
289 | extension PhotoPreviewViewController: UICollectionViewDataSource {
290 |
291 |     public func numberOfSections(in collectionView: UICollectionView) -> Int {
    |                                                     `- error: 'UICollectionView' is unavailable in watchOS
292 |         return 1
293 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:295:55: error: 'UICollectionView' is unavailable in watchOS
293 |     }
294 |
295 |     public func collectionView(_ imageCollectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    |                                                       `- error: 'UICollectionView' is unavailable in watchOS
296 |         guard let imageInfos = targetImage?.imageInfos else {
297 |             print("targetImage is nil or imageInfos is empty")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:311:55: error: 'UICollectionView' is unavailable in watchOS
309 |     }
310 |
311 |     public func collectionView(_ imageCollectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    |                                                       `- error: 'UICollectionView' is unavailable in watchOS
312 |         let cell = imageCollectionView.dequeueReusableCell(withReuseIdentifier: "PhotoPreviewCell", for: indexPath) as! PhotoPreviewCell
313 |         configurePhotoPreviewCell(cell, at: indexPath.item)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:311:112: error: 'UICollectionViewCell' is unavailable in watchOS
309 |     }
310 |
311 |     public func collectionView(_ imageCollectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    |                                                                                                                `- error: 'UICollectionViewCell' is unavailable in watchOS
312 |         let cell = imageCollectionView.dequeueReusableCell(withReuseIdentifier: "PhotoPreviewCell", for: indexPath) as! PhotoPreviewCell
313 |         configurePhotoPreviewCell(cell, at: indexPath.item)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h:65:12: note: 'UICollectionViewCell' has been explicitly marked unavailable here
 63 |
 64 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 65 | @interface UICollectionViewCell : UICollectionReusableView
    |            `- note: 'UICollectionViewCell' has been explicitly marked unavailable here
 66 |
 67 | /// Returns the current configuration state for the cell.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:289:39: error: 'UICollectionViewDataSource' is unavailable in watchOS
287 |
288 | // MARK: UICollectionViewDataSource Methods
289 | extension PhotoPreviewViewController: UICollectionViewDataSource {
    |                                       `- error: 'UICollectionViewDataSource' is unavailable in watchOS
290 |
291 |     public func numberOfSections(in collectionView: UICollectionView) -> Int {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:73:11: note: 'UICollectionViewDataSource' has been explicitly marked unavailable here
 71 |
 72 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 73 | @protocol UICollectionViewDataSource <NSObject>
    |           `- note: 'UICollectionViewDataSource' has been explicitly marked unavailable here
 74 | @required
 75 |
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:322:56: error: 'UIGestureRecognizer' is unavailable in watchOS
320 | extension PhotoPreviewViewController: UIGestureRecognizerDelegate {
321 |
322 |     public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    |                                                        `- error: 'UIGestureRecognizer' is unavailable in watchOS
323 |
324 |         return otherGestureRecognizer is UITapGestureRecognizer && gestureRecognizer is UITapGestureRecognizer && otherGestureRecognizer.view is PhotoPreviewCell
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:322:124: error: 'UIGestureRecognizer' is unavailable in watchOS
320 | extension PhotoPreviewViewController: UIGestureRecognizerDelegate {
321 |
322 |     public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    |                                                                                                                            `- error: 'UIGestureRecognizer' is unavailable in watchOS
323 |
324 |         return otherGestureRecognizer is UITapGestureRecognizer && gestureRecognizer is UITapGestureRecognizer && otherGestureRecognizer.view is PhotoPreviewCell
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:320:39: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
318 |
319 | // MARK: UIGestureRecognizerDelegate Methods
320 | extension PhotoPreviewViewController: UIGestureRecognizerDelegate {
    |                                       `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
321 |
322 |     public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:64: error: 'UIViewController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                `- error: 'UIViewController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:94: error: 'UIViewController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                                              `- error: 'UIViewController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:121: error: 'UIViewController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                                                                         `- error: 'UIViewController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:142: error: 'UIPresentationController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                                                                                              `- error: 'UIPresentationController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h:65:12: note: 'UIPresentationController' has been explicitly marked unavailable here
 63 |
 64 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 65 | @interface UIPresentationController : NSObject <UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIPresentationController' has been explicitly marked unavailable here
 66 |
 67 | @property(nonatomic, strong, readonly) UIViewController *presentingViewController;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:61: error: 'UIViewController' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                             `- error: 'UIViewController' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:91: error: 'UIViewController' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                                                           `- error: 'UIViewController' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:117: error: 'UIViewController' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                                                                                     `- error: 'UIViewController' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:138: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                                                                                                          `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:356:61: error: 'UIViewController' is unavailable in watchOS
354 |         return PresentingAnimator(pageIndex: targetImage.targetIndex, imageInfo: imageInfo)
355 |     }
356 |     public func animationController(forDismissed dismissed: UIViewController)
    |                                                             `- error: 'UIViewController' is unavailable in watchOS
357 |         -> UIViewControllerAnimatedTransitioning?
358 |     {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:357:12: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
355 |     }
356 |     public func animationController(forDismissed dismissed: UIViewController)
357 |         -> UIViewControllerAnimatedTransitioning?
    |            `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
358 |     {
359 |         guard let targetImage = self.targetImage 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/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:340:39: error: 'UIViewControllerTransitioningDelegate' is unavailable in watchOS
338 |
339 | // MARK: 转场
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
    |                                       `- error: 'UIViewControllerTransitioningDelegate' is unavailable in watchOS
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:180:11: note: 'UIViewControllerTransitioningDelegate' has been explicitly marked unavailable here
178 |
179 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
180 | @protocol UIViewControllerTransitioningDelegate <NSObject>
    |           `- note: 'UIViewControllerTransitioningDelegate' has been explicitly marked unavailable here
181 |
182 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:22:54: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
20 |     }
21 |
22 |     func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {
   |                                                      `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
23 |         return duration
24 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 66 |
 67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 68 | @protocol UIViewControllerContextTransitioning <NSObject>
    |           `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:26:53: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
24 |     }
25 |
26 |     func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
   |                                                     `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
27 |         guard let toView = transitionContext.view(forKey: .to),
28 |             let toVC = transitionContext.viewController(forKey: .to)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 66 |
 67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 68 | @protocol UIViewControllerContextTransitioning <NSObject>
    |           `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:11:37: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
 9 | import SDWebImage
10 |
11 | class PresentingAnimator: NSObject, UIViewControllerAnimatedTransitioning {
   |                                     `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
12 |
13 |     private let imageInfo: ImageInfo
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
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/PhotoPreview/CustomImageView.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DimmingPresentationController.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DismissingAnimator.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreview.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift -target arm64-apple-watchos9.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/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/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64/PhotoPreview-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/PackageFrameworks -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 -profile-generate -profile-coverage-mapping -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 -fmodule-map-file\=/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/GeneratedModuleMaps-watchos/SDWebImage.modulemap -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/.dependencies/checkouts/SDWebImage/SDWebImage/include -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/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name PhotoPreview -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64/PhotoPreview_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/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64/PhotoPreview.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64/PhotoPreview.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64/PhotoPreview-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64/PhotoPreview-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64/PhotoPreview-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64/PhotoPreview.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64/PhotoPreview.abi.json
SwiftCompile normal arm64 (in target 'PhotoPreview' from project 'PhotoPreview')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ PresentingAnimator.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift (in target 'PhotoPreview' from project 'PhotoPreview')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift (in target 'PhotoPreview' from project 'PhotoPreview')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PresentingAnimator.swift
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:22:54: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
20 |     }
21 |
22 |     func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {
   |                                                      `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
23 |         return duration
24 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 66 |
 67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 68 | @protocol UIViewControllerContextTransitioning <NSObject>
    |           `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:26:53: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
24 |     }
25 |
26 |     func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
   |                                                     `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
27 |         guard let toView = transitionContext.view(forKey: .to),
28 |             let toVC = transitionContext.viewController(forKey: .to)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 66 |
 67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 68 | @protocol UIViewControllerContextTransitioning <NSObject>
    |           `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:11:37: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
 9 | import SDWebImage
10 |
11 | class PresentingAnimator: NSObject, UIViewControllerAnimatedTransitioning {
   |                                     `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
12 |
13 |     private let imageInfo: ImageInfo
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:27:60: error: 'to' is unavailable in watchOS
25 |
26 |     func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
27 |         guard let toView = transitionContext.view(forKey: .to),
   |                                                            `- error: 'to' is unavailable in watchOS
28 |             let toVC = transitionContext.viewController(forKey: .to)
29 |         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/UIViewControllerTransitioning.h:27:47: note: 'to' has been explicitly marked unavailable here
 25 |
 26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
 27 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextToViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(8.0));
    |                                               `- note: 'to' has been explicitly marked unavailable here
 28 |
 29 |
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:28:66: error: 'to' is unavailable in watchOS
26 |     func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
27 |         guard let toView = transitionContext.view(forKey: .to),
28 |             let toVC = transitionContext.viewController(forKey: .to)
   |                                                                  `- error: 'to' is unavailable in watchOS
29 |         else {
30 |             transitionContext.completeTransition(false)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:24:57: note: 'to' has been explicitly marked unavailable here
 22 |
 23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
 24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
    |                                                         `- note: 'to' has been explicitly marked unavailable here
 25 |
 26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:35:29: error: 'UIImageView' is unavailable in watchOS
33 |
34 |         var beginFrame = imageInfo.frame!
35 |         let viewToAnimate = UIImageView(frame: beginFrame)
   |                             `- error: 'UIImageView' is unavailable in watchOS
36 |         viewToAnimate.clipsToBounds = true
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/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
 19 |
 20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 21 | @interface UIImageView : UIView
    |            `- note: 'UIImageView' has been explicitly marked unavailable here
 22 |
 23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:47:31: error: value of type 'UIImageView' has no member 'sd_setImage'
45 |             } else {
46 |                 guard let u = URL(string: source.url ) else { return }
47 |                 viewToAnimate.sd_setImage(with: u)
   |                               `- error: value of type 'UIImageView' has no member 'sd_setImage'
48 |             }
49 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:52:47: error: 'containerView' is unavailable in watchOS
50 |         viewToAnimate.contentMode = imageInfo.contentMode
51 |
52 |         let containerView = transitionContext.containerView
   |                                               `- error: 'containerView' is unavailable in watchOS
53 |         containerView.addSubview(toView)
54 |         containerView.addSubview(viewToAnimate)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:71:40: note: 'containerView' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
 71 | @property(nonatomic, readonly) UIView *containerView API_UNAVAILABLE(watchos);
    |                                        `- note: 'containerView' has been explicitly marked unavailable here
 72 |
 73 | // Most of the time this is YES. For custom transitions that use the new UIModalPresentationCustom
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:59:69: warning: left side of nil coalescing operator '??' has non-optional type 'CGSize', so the right side is never used
57 |
58 |         // finalSize 获取的优先级 viewToAnimate.image?.size  > imageInfo.size > .zero
59 |         let finalSize = viewToAnimate.image?.size ?? imageInfo.size ?? .zero
   |                                                                     `- warning: left side of nil coalescing operator '??' has non-optional type 'CGSize', so the right side is never used
60 |         // 结果frame: 比例以保持内容的宽高比,同时确保内容完整地填入视图边界而不会超出
61 |         let finalFrame = PhotoPreviewCell.calculateAspectFitRect(for: finalSize)
SwiftCompile normal arm64 Compiling\ PhotoPreviewViewController.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift (in target 'PhotoPreview' from project 'PhotoPreview')
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:49:22: error: 'UIView' is unavailable in watchOS
 47 |     let frame:CGRect?
 48 |     let size: CGSize
 49 |     let contentMode: UIView.ContentMode
    |                      `- error: 'UIView' is unavailable in watchOS
 50 |
 51 |     public init(image: PhotoPreviewImageProtocol,
/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/PhotoPreview/PhotoPreviewViewController.swift:54:23: error: 'UIView' is unavailable in watchOS
 52 |         frame:CGRect? = nil,
 53 |         size: CGSize,
 54 |          contentMode: UIView.ContentMode) {
    |                       `- error: 'UIView' is unavailable in watchOS
 55 |         self.image = image
 56 |         self.contentMode = contentMode
/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/PhotoPreview/PhotoPreviewViewController.swift:61:45: error: 'UIView' is unavailable in watchOS
 59 |     }
 60 |
 61 |     static func objectFit(from contentMode: UIView.ContentMode) -> String {
    |                                             `- error: 'UIView' is unavailable in watchOS
 62 |         switch contentMode {
 63 |         case .scaleToFill:
/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/PhotoPreview/PhotoPreviewViewController.swift:102:42: error: 'UICollectionView' is unavailable in watchOS
100 |     public weak var delegate: PhotoPreviewDelegate?
101 |
102 |     public lazy var imageCollectionView: UICollectionView = self.setupCollectionView()
    |                                          `- error: 'UICollectionView' is unavailable in watchOS
103 |
104 |     public var numberOfImages: Int {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:130:29: error: 'UICollectionViewFlowLayout' is unavailable in watchOS
128 |     }
129 |
130 |     private var flowLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    |                             `- error: 'UICollectionViewFlowLayout' is unavailable in watchOS
131 |
132 |     // MARK: Lifecycle methods
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewFlowLayout.h:46:12: note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UICollectionViewFlowLayout : UICollectionViewLayout
   |            `- note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
47 |
48 | @property (nonatomic) CGFloat minimumLineSpacing;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:130:58: error: 'UICollectionViewFlowLayout' is unavailable in watchOS
128 |     }
129 |
130 |     private var flowLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    |                                                          `- error: 'UICollectionViewFlowLayout' is unavailable in watchOS
131 |
132 |     // MARK: Lifecycle methods
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewFlowLayout.h:46:12: note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UICollectionViewFlowLayout : UICollectionViewLayout
   |            `- note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
47 |
48 | @property (nonatomic) CGFloat minimumLineSpacing;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:166:38: error: 'UIPanGestureRecognizer' is unavailable in watchOS
164 |     private var originalPosition: CGPoint?
165 |
166 |     @objc func wasDragged(_ gesture: UIPanGestureRecognizer) {
    |                                      `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
167 |         guard let imageView = gesture.view else { return }
168 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPanGestureRecognizer.h:31:12: note: 'UIPanGestureRecognizer' has been explicitly marked unavailable here
29 |
30 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
31 | @interface UIPanGestureRecognizer : UIGestureRecognizer
   |            `- note: 'UIPanGestureRecognizer' has been explicitly marked unavailable here
32 |
33 | @property (nonatomic)          NSUInteger minimumNumberOfTouches API_UNAVAILABLE(tvos);   // default is 1. the minimum number of touches required to match
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:203:51: error: 'UITapGestureRecognizer' is unavailable in watchOS
201 |     }
202 |
203 |     @objc public func singleTapAction(recognizer: UITapGestureRecognizer) {
    |                                                   `- error: 'UITapGestureRecognizer' is unavailable in watchOS
204 |         delegate?.didTapToClose(photoPreviewViewController: self)
205 |     }
/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/PhotoPreview/PhotoPreviewViewController.swift:209:43: error: 'UICollectionView' is unavailable in watchOS
207 |     // MARK: Private Methods
208 |
209 |     private func setupCollectionView() -> UICollectionView {
    |                                           `- error: 'UICollectionView' is unavailable in watchOS
210 |         // Set up flow layout
211 |         flowLayout.scrollDirection = UICollectionView.ScrollDirection.horizontal
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:88:42: error: 'UIViewController' is unavailable in watchOS
 86 | }
 87 |
 88 | public class PhotoPreviewViewController: UIViewController {
    |                                          `- error: 'UIViewController' is unavailable in watchOS
 89 |     var targetImage: Target?
 90 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:291:53: error: 'UICollectionView' is unavailable in watchOS
289 | extension PhotoPreviewViewController: UICollectionViewDataSource {
290 |
291 |     public func numberOfSections(in collectionView: UICollectionView) -> Int {
    |                                                     `- error: 'UICollectionView' is unavailable in watchOS
292 |         return 1
293 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:295:55: error: 'UICollectionView' is unavailable in watchOS
293 |     }
294 |
295 |     public func collectionView(_ imageCollectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    |                                                       `- error: 'UICollectionView' is unavailable in watchOS
296 |         guard let imageInfos = targetImage?.imageInfos else {
297 |             print("targetImage is nil or imageInfos is empty")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:311:55: error: 'UICollectionView' is unavailable in watchOS
309 |     }
310 |
311 |     public func collectionView(_ imageCollectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    |                                                       `- error: 'UICollectionView' is unavailable in watchOS
312 |         let cell = imageCollectionView.dequeueReusableCell(withReuseIdentifier: "PhotoPreviewCell", for: indexPath) as! PhotoPreviewCell
313 |         configurePhotoPreviewCell(cell, at: indexPath.item)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:311:112: error: 'UICollectionViewCell' is unavailable in watchOS
309 |     }
310 |
311 |     public func collectionView(_ imageCollectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    |                                                                                                                `- error: 'UICollectionViewCell' is unavailable in watchOS
312 |         let cell = imageCollectionView.dequeueReusableCell(withReuseIdentifier: "PhotoPreviewCell", for: indexPath) as! PhotoPreviewCell
313 |         configurePhotoPreviewCell(cell, at: indexPath.item)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h:65:12: note: 'UICollectionViewCell' has been explicitly marked unavailable here
 63 |
 64 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 65 | @interface UICollectionViewCell : UICollectionReusableView
    |            `- note: 'UICollectionViewCell' has been explicitly marked unavailable here
 66 |
 67 | /// Returns the current configuration state for the cell.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:289:39: error: 'UICollectionViewDataSource' is unavailable in watchOS
287 |
288 | // MARK: UICollectionViewDataSource Methods
289 | extension PhotoPreviewViewController: UICollectionViewDataSource {
    |                                       `- error: 'UICollectionViewDataSource' is unavailable in watchOS
290 |
291 |     public func numberOfSections(in collectionView: UICollectionView) -> Int {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:73:11: note: 'UICollectionViewDataSource' has been explicitly marked unavailable here
 71 |
 72 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 73 | @protocol UICollectionViewDataSource <NSObject>
    |           `- note: 'UICollectionViewDataSource' has been explicitly marked unavailable here
 74 | @required
 75 |
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:322:56: error: 'UIGestureRecognizer' is unavailable in watchOS
320 | extension PhotoPreviewViewController: UIGestureRecognizerDelegate {
321 |
322 |     public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    |                                                        `- error: 'UIGestureRecognizer' is unavailable in watchOS
323 |
324 |         return otherGestureRecognizer is UITapGestureRecognizer && gestureRecognizer is UITapGestureRecognizer && otherGestureRecognizer.view is PhotoPreviewCell
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:322:124: error: 'UIGestureRecognizer' is unavailable in watchOS
320 | extension PhotoPreviewViewController: UIGestureRecognizerDelegate {
321 |
322 |     public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    |                                                                                                                            `- error: 'UIGestureRecognizer' is unavailable in watchOS
323 |
324 |         return otherGestureRecognizer is UITapGestureRecognizer && gestureRecognizer is UITapGestureRecognizer && otherGestureRecognizer.view is PhotoPreviewCell
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:320:39: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
318 |
319 | // MARK: UIGestureRecognizerDelegate Methods
320 | extension PhotoPreviewViewController: UIGestureRecognizerDelegate {
    |                                       `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
321 |
322 |     public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:64: error: 'UIViewController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                `- error: 'UIViewController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:94: error: 'UIViewController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                                              `- error: 'UIViewController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:121: error: 'UIViewController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                                                                         `- error: 'UIViewController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:142: error: 'UIPresentationController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                                                                                              `- error: 'UIPresentationController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h:65:12: note: 'UIPresentationController' has been explicitly marked unavailable here
 63 |
 64 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 65 | @interface UIPresentationController : NSObject <UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIPresentationController' has been explicitly marked unavailable here
 66 |
 67 | @property(nonatomic, strong, readonly) UIViewController *presentingViewController;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:61: error: 'UIViewController' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                             `- error: 'UIViewController' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:91: error: 'UIViewController' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                                                           `- error: 'UIViewController' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:117: error: 'UIViewController' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                                                                                     `- error: 'UIViewController' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:138: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                                                                                                          `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:356:61: error: 'UIViewController' is unavailable in watchOS
354 |         return PresentingAnimator(pageIndex: targetImage.targetIndex, imageInfo: imageInfo)
355 |     }
356 |     public func animationController(forDismissed dismissed: UIViewController)
    |                                                             `- error: 'UIViewController' is unavailable in watchOS
357 |         -> UIViewControllerAnimatedTransitioning?
358 |     {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:357:12: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
355 |     }
356 |     public func animationController(forDismissed dismissed: UIViewController)
357 |         -> UIViewControllerAnimatedTransitioning?
    |            `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
358 |     {
359 |         guard let targetImage = self.targetImage 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/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:340:39: error: 'UIViewControllerTransitioningDelegate' is unavailable in watchOS
338 |
339 | // MARK: 转场
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
    |                                       `- error: 'UIViewControllerTransitioningDelegate' is unavailable in watchOS
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:180:11: note: 'UIViewControllerTransitioningDelegate' has been explicitly marked unavailable here
178 |
179 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
180 | @protocol UIViewControllerTransitioningDelegate <NSObject>
    |           `- note: 'UIViewControllerTransitioningDelegate' has been explicitly marked unavailable here
181 |
182 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:158:25: error: 'UITapGestureRecognizer' is unavailable in watchOS
156 |         imageCollectionView.isUserInteractionEnabled = true
157 |
158 |         let singleTap = UITapGestureRecognizer(target: self, action: #selector(singleTapAction(recognizer:)))
    |                         `- error: 'UITapGestureRecognizer' is unavailable in watchOS
159 |         singleTap.numberOfTapsRequired = 1
160 |         singleTap.delegate = self
/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/PhotoPreview/PhotoPreviewViewController.swift:192:17: error: 'UIView' is unavailable in watchOS
190 |                 delegate?.didTapToClose(photoPreviewViewController: self)
191 |             } else {
192 |                 UIView.animate(withDuration: 0.25) {
    |                 `- error: 'UIView' is unavailable in watchOS
193 |                     imageView.center = self.originalPosition ?? imageView.center
194 |                     self.backgroundColor = UIColor.black.withAlphaComponent(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/PhotoPreview/PhotoPreviewViewController.swift:211:38: error: 'UICollectionView' is unavailable in watchOS
209 |     private func setupCollectionView() -> UICollectionView {
210 |         // Set up flow layout
211 |         flowLayout.scrollDirection = UICollectionView.ScrollDirection.horizontal
    |                                      `- error: 'UICollectionView' is unavailable in watchOS
212 |         flowLayout.minimumInteritemSpacing = 0
213 |         flowLayout.minimumLineSpacing = 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/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:216:30: error: 'UICollectionView' is unavailable in watchOS
214 |
215 |         // Set up collection view
216 |         let collectionView = UICollectionView(frame: view.bounds, collectionViewLayout: flowLayout)
    |                              `- error: 'UICollectionView' is unavailable in watchOS
217 |         collectionView.translatesAutoresizingMaskIntoConstraints = false
218 |         collectionView.register(PhotoPreviewCell.self, forCellWithReuseIdentifier: "PhotoPreviewCell")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:222:24: error: 'contentInsetAdjustmentBehavior' is unavailable in watchOS
220 |         collectionView.backgroundColor = UIColor.clear
221 |         collectionView.isPagingEnabled = true
222 |         collectionView.contentInsetAdjustmentBehavior = .never
    |                        `- error: 'contentInsetAdjustmentBehavior' is unavailable in watchOS
223 |
224 |         // Set up collection view constraints
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:110:65: note: 'contentInsetAdjustmentBehavior' has been explicitly marked unavailable here
108 |  Default is UIScrollViewContentInsetAdjustmentAutomatic.
109 |  */
110 | @property(nonatomic) UIScrollViewContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
    |                                                                 `- note: 'contentInsetAdjustmentBehavior' has been explicitly marked unavailable here
111 |
112 | /* Configures whether the scroll indicator insets are automatically adjusted by the system.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:225:46: error: 'NSLayoutConstraint' is unavailable in watchOS
223 |
224 |         // Set up collection view constraints
225 |         var imageCollectionViewConstraints: [NSLayoutConstraint] = []
    |                                              `- error: 'NSLayoutConstraint' is unavailable in watchOS
226 |         imageCollectionViewConstraints.append(
227 |             NSLayoutConstraint(
/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/PhotoPreview/PhotoPreviewViewController.swift:227:13: error: 'NSLayoutConstraint' is unavailable in watchOS
225 |         var imageCollectionViewConstraints: [NSLayoutConstraint] = []
226 |         imageCollectionViewConstraints.append(
227 |             NSLayoutConstraint(
    |             `- error: 'NSLayoutConstraint' is unavailable in watchOS
228 |                 item: collectionView,
229 |                 attribute: .leading,
/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/PhotoPreview/PhotoPreviewViewController.swift:237:13: error: 'NSLayoutConstraint' is unavailable in watchOS
235 |
236 |         imageCollectionViewConstraints.append(
237 |             NSLayoutConstraint(
    |             `- error: 'NSLayoutConstraint' is unavailable in watchOS
238 |                 item: collectionView,
239 |                 attribute: .top,
/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/PhotoPreview/PhotoPreviewViewController.swift:247:13: error: 'NSLayoutConstraint' is unavailable in watchOS
245 |
246 |         imageCollectionViewConstraints.append(
247 |             NSLayoutConstraint(
    |             `- error: 'NSLayoutConstraint' is unavailable in watchOS
248 |                 item: collectionView,
249 |                 attribute: .trailing,
/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).
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift (in target 'PhotoPreview' from project 'PhotoPreview')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PhotoPreviewViewController.swift
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ PhotoPreview (in target 'PhotoPreview' from project 'PhotoPreview')
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/CustomImageView.swift:7:30: error: 'UIActivityIndicatorView' is unavailable in watchOS
 5 |
 6 |     private var imageURL: String? = nil
 7 |     private var loadingView: UIActivityIndicatorView = UIActivityIndicatorView(style: .medium)
   |                              `- error: 'UIActivityIndicatorView' is unavailable in watchOS
 8 |
 9 |     private func setupLoadingIndicator() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h:24:12: note: 'UIActivityIndicatorView' has been explicitly marked unavailable here
22 |
23 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
24 | @interface UIActivityIndicatorView : UIView <NSCoding>
   |            `- note: 'UIActivityIndicatorView' has been explicitly marked unavailable here
25 |
26 | - (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style NS_DESIGNATED_INITIALIZER; // sizes the view according to the style
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/CustomImageView.swift:7:56: error: 'UIActivityIndicatorView' is unavailable in watchOS
 5 |
 6 |     private var imageURL: String? = nil
 7 |     private var loadingView: UIActivityIndicatorView = UIActivityIndicatorView(style: .medium)
   |                                                        `- error: 'UIActivityIndicatorView' is unavailable in watchOS
 8 |
 9 |     private func setupLoadingIndicator() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIActivityIndicatorView.h:24:12: note: 'UIActivityIndicatorView' has been explicitly marked unavailable here
22 |
23 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
24 | @interface UIActivityIndicatorView : UIView <NSCoding>
   |            `- note: 'UIActivityIndicatorView' has been explicitly marked unavailable here
25 |
26 | - (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style NS_DESIGNATED_INITIALIZER; // sizes the view according to the style
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/CustomImageView.swift:7:88: error: 'medium' is unavailable in watchOS
 5 |
 6 |     private var imageURL: String? = nil
 7 |     private var loadingView: UIActivityIndicatorView = UIActivityIndicatorView(style: .medium)
   |                                                                                        `- error: 'medium' is unavailable in watchOS
 8 |
 9 |     private func setupLoadingIndicator() {
UIKit.UIActivityIndicatorView.Style.medium:4:10: note: 'medium' has been explicitly marked unavailable here
2 |   enum Style {
3 | @available(watchOS, unavailable)
4 |     case medium  }
  |          `- note: 'medium' has been explicitly marked unavailable here
5 | }
6 |
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/CustomImageView.swift:4:24: error: 'UIImageView' is unavailable in watchOS
 2 | import UIKit
 3 |
 4 | class CustomImageView: UIImageView {
   |                        `- error: 'UIImageView' is unavailable in watchOS
 5 |
 6 |     private var imageURL: String? = nil
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
 19 |
 20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 21 | @interface UIImageView : UIView
    |            `- note: 'UIImageView' has been explicitly marked unavailable here
 22 |
 23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DimmingPresentationController.swift:12:27: error: 'UIView' is unavailable in watchOS
10 | class DimmingPresentationController: UIPresentationController {
11 |
12 |     lazy var background = UIView(frame: .zero)
   |                           `- error: 'UIView' is unavailable in watchOS
13 |
14 |     override var shouldRemovePresentersView: Bool {
/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/PhotoPreview/DimmingPresentationController.swift:10:38: error: 'UIPresentationController' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | class DimmingPresentationController: UIPresentationController {
   |                                      `- error: 'UIPresentationController' is unavailable in watchOS
11 |
12 |     lazy var background = UIView(frame: .zero)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h:65:12: note: 'UIPresentationController' has been explicitly marked unavailable here
 63 |
 64 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 65 | @interface UIPresentationController : NSObject <UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIPresentationController' has been explicitly marked unavailable here
 66 |
 67 | @property(nonatomic, strong, readonly) UIViewController *presentingViewController;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DismissingAnimator.swift:22:59: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
20 |     }
21 |
22 |     func transitionDuration(using transitionContext: (any UIViewControllerContextTransitioning)?) -> TimeInterval {
   |                                                           `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
23 |         return animationDuration
24 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 66 |
 67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 68 | @protocol UIViewControllerContextTransitioning <NSObject>
    |           `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DismissingAnimator.swift:26:57: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
24 |     }
25 |
26 |     func animateTransition(using transitionContext: any UIViewControllerContextTransitioning) {
   |                                                         `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
27 |         guard let fromVC = transitionContext.viewController(forKey: .from) else {
28 |             transitionContext.completeTransition(false)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 66 |
 67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 68 | @protocol UIViewControllerContextTransitioning <NSObject>
    |           `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DismissingAnimator.swift:12:37: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
10 | import SDWebImage
11 |
12 | class DismissingAnimator: NSObject, UIViewControllerAnimatedTransitioning {
   |                                     `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
13 |     private let imageInfo: ImageInfo
14 |     private let animationDuration: TimeInterval = 0.2
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift:23:47: error: 'UITouch' is unavailable in watchOS
21 |     }
22 |
23 |     override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                               `- error: 'UITouch' is unavailable in watchOS
24 |         super.touchesMoved(touches, with: event)
25 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift:23:69: error: 'UIEvent' is unavailable in watchOS
21 |     }
22 |
23 |     override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
   |                                                                     `- error: 'UIEvent' is unavailable in watchOS
24 |         super.touchesMoved(touches, with: event)
25 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift:14:38: error: 'UIPanGestureRecognizer' is unavailable in watchOS
12 | }
13 |
14 | class PanDirectionGestureRecognizer: UIPanGestureRecognizer {
   |                                      `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
15 |
16 |     let direction: PanDirection
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPanGestureRecognizer.h:31:12: note: 'UIPanGestureRecognizer' has been explicitly marked unavailable here
29 |
30 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
31 | @interface UIPanGestureRecognizer : UIGestureRecognizer
   |            `- note: 'UIPanGestureRecognizer' has been explicitly marked unavailable here
32 |
33 | @property (nonatomic)          NSUInteger minimumNumberOfTouches API_UNAVAILABLE(tvos);   // default is 1. the minimum number of touches required to match
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift:18:26: error: 'UIScrollView' is unavailable in watchOS
 16 |     }
 17 |
 18 |     open var scrollView: UIScrollView
    |                          `- error: 'UIScrollView' is unavailable in watchOS
 19 |     public let imageView: CustomImageView
 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/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
 85 |
 86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
    |            `- note: 'UIScrollView' has been explicitly marked unavailable here
 88 |
 89 | @property(nonatomic)         CGPoint                      contentOffset;                  // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift:125:51: error: 'UITapGestureRecognizer' is unavailable in watchOS
123 |     }
124 |
125 |     @objc public func doubleTapAction(recognizer: UITapGestureRecognizer) {
    |                                                   `- error: 'UITapGestureRecognizer' is unavailable in watchOS
126 |
127 |         if scrollView.zoomScale > scrollView.minimumZoomScale {
/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/PhotoPreview/PhotoPreviewCell.swift:10:25: error: 'UICollectionViewCell' is unavailable in watchOS
  8 | import UIKit
  9 |
 10 | class PhotoPreviewCell: UICollectionViewCell {
    |                         `- error: 'UICollectionViewCell' is unavailable in watchOS
 11 |
 12 |     var imageInfo: ImageInfo? {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h:65:12: note: 'UICollectionViewCell' has been explicitly marked unavailable here
 63 |
 64 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 65 | @interface UICollectionViewCell : UICollectionReusableView
    |            `- note: 'UICollectionViewCell' has been explicitly marked unavailable here
 66 |
 67 | /// Returns the current configuration state for the cell.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift:228:47: error: 'UIScrollView' is unavailable in watchOS
226 | extension PhotoPreviewCell: UIScrollViewDelegate {
227 |
228 |     public func viewForZooming(in scrollView: UIScrollView) -> UIView? {
    |                                               `- error: 'UIScrollView' is unavailable in watchOS
229 |         return imageView
230 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
 85 |
 86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
    |            `- note: 'UIScrollView' has been explicitly marked unavailable here
 88 |
 89 | @property(nonatomic)         CGPoint                      contentOffset;                  // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift:228:64: error: 'UIView' is unavailable in watchOS
226 | extension PhotoPreviewCell: UIScrollViewDelegate {
227 |
228 |     public func viewForZooming(in scrollView: UIScrollView) -> UIView? {
    |                                                                `- error: 'UIView' is unavailable in watchOS
229 |         return imageView
230 |     }
/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/PhotoPreview/PhotoPreviewCell.swift:232:49: error: 'UIScrollView' is unavailable in watchOS
230 |     }
231 |
232 |     public func scrollViewDidZoom(_ scrollView: UIScrollView) {
    |                                                 `- error: 'UIScrollView' is unavailable in watchOS
233 |
234 |         let imageViewSize = imageView.frame.size
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
 85 |
 86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
    |            `- note: 'UIScrollView' has been explicitly marked unavailable here
 88 |
 89 | @property(nonatomic)         CGPoint                      contentOffset;                  // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift:226:29: error: 'UIScrollViewDelegate' is unavailable in watchOS
224 |
225 | // MARK: UIScrollViewDelegate Methods
226 | extension PhotoPreviewCell: UIScrollViewDelegate {
    |                             `- error: 'UIScrollViewDelegate' is unavailable in watchOS
227 |
228 |     public func viewForZooming(in scrollView: UIScrollView) -> UIView? {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:312:11: note: 'UIScrollViewDelegate' has been explicitly marked unavailable here
310 |
311 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
312 | @protocol UIScrollViewDelegate<NSObject>
    |           `- note: 'UIScrollViewDelegate' has been explicitly marked unavailable here
313 |
314 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:49:22: error: 'UIView' is unavailable in watchOS
 47 |     let frame:CGRect?
 48 |     let size: CGSize
 49 |     let contentMode: UIView.ContentMode
    |                      `- error: 'UIView' is unavailable in watchOS
 50 |
 51 |     public init(image: PhotoPreviewImageProtocol,
/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/PhotoPreview/PhotoPreviewViewController.swift:54:23: error: 'UIView' is unavailable in watchOS
 52 |         frame:CGRect? = nil,
 53 |         size: CGSize,
 54 |          contentMode: UIView.ContentMode) {
    |                       `- error: 'UIView' is unavailable in watchOS
 55 |         self.image = image
 56 |         self.contentMode = contentMode
/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/PhotoPreview/PhotoPreviewViewController.swift:61:45: error: 'UIView' is unavailable in watchOS
 59 |     }
 60 |
 61 |     static func objectFit(from contentMode: UIView.ContentMode) -> String {
    |                                             `- error: 'UIView' is unavailable in watchOS
 62 |         switch contentMode {
 63 |         case .scaleToFill:
/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/PhotoPreview/PhotoPreviewViewController.swift:102:42: error: 'UICollectionView' is unavailable in watchOS
100 |     public weak var delegate: PhotoPreviewDelegate?
101 |
102 |     public lazy var imageCollectionView: UICollectionView = self.setupCollectionView()
    |                                          `- error: 'UICollectionView' is unavailable in watchOS
103 |
104 |     public var numberOfImages: Int {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:130:29: error: 'UICollectionViewFlowLayout' is unavailable in watchOS
128 |     }
129 |
130 |     private var flowLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    |                             `- error: 'UICollectionViewFlowLayout' is unavailable in watchOS
131 |
132 |     // MARK: Lifecycle methods
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewFlowLayout.h:46:12: note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UICollectionViewFlowLayout : UICollectionViewLayout
   |            `- note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
47 |
48 | @property (nonatomic) CGFloat minimumLineSpacing;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:130:58: error: 'UICollectionViewFlowLayout' is unavailable in watchOS
128 |     }
129 |
130 |     private var flowLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    |                                                          `- error: 'UICollectionViewFlowLayout' is unavailable in watchOS
131 |
132 |     // MARK: Lifecycle methods
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewFlowLayout.h:46:12: note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UICollectionViewFlowLayout : UICollectionViewLayout
   |            `- note: 'UICollectionViewFlowLayout' has been explicitly marked unavailable here
47 |
48 | @property (nonatomic) CGFloat minimumLineSpacing;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:166:38: error: 'UIPanGestureRecognizer' is unavailable in watchOS
164 |     private var originalPosition: CGPoint?
165 |
166 |     @objc func wasDragged(_ gesture: UIPanGestureRecognizer) {
    |                                      `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
167 |         guard let imageView = gesture.view else { return }
168 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPanGestureRecognizer.h:31:12: note: 'UIPanGestureRecognizer' has been explicitly marked unavailable here
29 |
30 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
31 | @interface UIPanGestureRecognizer : UIGestureRecognizer
   |            `- note: 'UIPanGestureRecognizer' has been explicitly marked unavailable here
32 |
33 | @property (nonatomic)          NSUInteger minimumNumberOfTouches API_UNAVAILABLE(tvos);   // default is 1. the minimum number of touches required to match
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:203:51: error: 'UITapGestureRecognizer' is unavailable in watchOS
201 |     }
202 |
203 |     @objc public func singleTapAction(recognizer: UITapGestureRecognizer) {
    |                                                   `- error: 'UITapGestureRecognizer' is unavailable in watchOS
204 |         delegate?.didTapToClose(photoPreviewViewController: self)
205 |     }
/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/PhotoPreview/PhotoPreviewViewController.swift:209:43: error: 'UICollectionView' is unavailable in watchOS
207 |     // MARK: Private Methods
208 |
209 |     private func setupCollectionView() -> UICollectionView {
    |                                           `- error: 'UICollectionView' is unavailable in watchOS
210 |         // Set up flow layout
211 |         flowLayout.scrollDirection = UICollectionView.ScrollDirection.horizontal
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:88:42: error: 'UIViewController' is unavailable in watchOS
 86 | }
 87 |
 88 | public class PhotoPreviewViewController: UIViewController {
    |                                          `- error: 'UIViewController' is unavailable in watchOS
 89 |     var targetImage: Target?
 90 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:291:53: error: 'UICollectionView' is unavailable in watchOS
289 | extension PhotoPreviewViewController: UICollectionViewDataSource {
290 |
291 |     public func numberOfSections(in collectionView: UICollectionView) -> Int {
    |                                                     `- error: 'UICollectionView' is unavailable in watchOS
292 |         return 1
293 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:295:55: error: 'UICollectionView' is unavailable in watchOS
293 |     }
294 |
295 |     public func collectionView(_ imageCollectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    |                                                       `- error: 'UICollectionView' is unavailable in watchOS
296 |         guard let imageInfos = targetImage?.imageInfos else {
297 |             print("targetImage is nil or imageInfos is empty")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:311:55: error: 'UICollectionView' is unavailable in watchOS
309 |     }
310 |
311 |     public func collectionView(_ imageCollectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    |                                                       `- error: 'UICollectionView' is unavailable in watchOS
312 |         let cell = imageCollectionView.dequeueReusableCell(withReuseIdentifier: "PhotoPreviewCell", for: indexPath) as! PhotoPreviewCell
313 |         configurePhotoPreviewCell(cell, at: indexPath.item)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
    |            `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:311:112: error: 'UICollectionViewCell' is unavailable in watchOS
309 |     }
310 |
311 |     public func collectionView(_ imageCollectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    |                                                                                                                `- error: 'UICollectionViewCell' is unavailable in watchOS
312 |         let cell = imageCollectionView.dequeueReusableCell(withReuseIdentifier: "PhotoPreviewCell", for: indexPath) as! PhotoPreviewCell
313 |         configurePhotoPreviewCell(cell, at: indexPath.item)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h:65:12: note: 'UICollectionViewCell' has been explicitly marked unavailable here
 63 |
 64 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 65 | @interface UICollectionViewCell : UICollectionReusableView
    |            `- note: 'UICollectionViewCell' has been explicitly marked unavailable here
 66 |
 67 | /// Returns the current configuration state for the cell.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:289:39: error: 'UICollectionViewDataSource' is unavailable in watchOS
287 |
288 | // MARK: UICollectionViewDataSource Methods
289 | extension PhotoPreviewViewController: UICollectionViewDataSource {
    |                                       `- error: 'UICollectionViewDataSource' is unavailable in watchOS
290 |
291 |     public func numberOfSections(in collectionView: UICollectionView) -> Int {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:73:11: note: 'UICollectionViewDataSource' has been explicitly marked unavailable here
 71 |
 72 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 73 | @protocol UICollectionViewDataSource <NSObject>
    |           `- note: 'UICollectionViewDataSource' has been explicitly marked unavailable here
 74 | @required
 75 |
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:322:56: error: 'UIGestureRecognizer' is unavailable in watchOS
320 | extension PhotoPreviewViewController: UIGestureRecognizerDelegate {
321 |
322 |     public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    |                                                        `- error: 'UIGestureRecognizer' is unavailable in watchOS
323 |
324 |         return otherGestureRecognizer is UITapGestureRecognizer && gestureRecognizer is UITapGestureRecognizer && otherGestureRecognizer.view is PhotoPreviewCell
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:322:124: error: 'UIGestureRecognizer' is unavailable in watchOS
320 | extension PhotoPreviewViewController: UIGestureRecognizerDelegate {
321 |
322 |     public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    |                                                                                                                            `- error: 'UIGestureRecognizer' is unavailable in watchOS
323 |
324 |         return otherGestureRecognizer is UITapGestureRecognizer && gestureRecognizer is UITapGestureRecognizer && otherGestureRecognizer.view is PhotoPreviewCell
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:320:39: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
318 |
319 | // MARK: UIGestureRecognizerDelegate Methods
320 | extension PhotoPreviewViewController: UIGestureRecognizerDelegate {
    |                                       `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
321 |
322 |     public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:64: error: 'UIViewController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                `- error: 'UIViewController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:94: error: 'UIViewController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                                              `- error: 'UIViewController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:121: error: 'UIViewController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                                                                         `- error: 'UIViewController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:342:142: error: 'UIPresentationController' is unavailable in watchOS
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
    |                                                                                                                                              `- error: 'UIPresentationController' is unavailable in watchOS
343 |         return DimmingPresentationController(presentedViewController: presented, presenting: presenting)
344 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPresentationController.h:65:12: note: 'UIPresentationController' has been explicitly marked unavailable here
 63 |
 64 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 65 | @interface UIPresentationController : NSObject <UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIPresentationController' has been explicitly marked unavailable here
 66 |
 67 | @property(nonatomic, strong, readonly) UIViewController *presentingViewController;
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:61: error: 'UIViewController' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                             `- error: 'UIViewController' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:91: error: 'UIViewController' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                                                           `- error: 'UIViewController' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:117: error: 'UIViewController' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                                                                                     `- error: 'UIViewController' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:346:138: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
344 |     }
345 |
346 |     public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    |                                                                                                                                          `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
347 |
348 |         guard let targetImage = self.targetImage 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/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:356:61: error: 'UIViewController' is unavailable in watchOS
354 |         return PresentingAnimator(pageIndex: targetImage.targetIndex, imageInfo: imageInfo)
355 |     }
356 |     public func animationController(forDismissed dismissed: UIViewController)
    |                                                             `- error: 'UIViewController' is unavailable in watchOS
357 |         -> UIViewControllerAnimatedTransitioning?
358 |     {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:357:12: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
355 |     }
356 |     public func animationController(forDismissed dismissed: UIViewController)
357 |         -> UIViewControllerAnimatedTransitioning?
    |            `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
358 |     {
359 |         guard let targetImage = self.targetImage 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/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift:340:39: error: 'UIViewControllerTransitioningDelegate' is unavailable in watchOS
338 |
339 | // MARK: 转场
340 | extension PhotoPreviewViewController: UIViewControllerTransitioningDelegate {
    |                                       `- error: 'UIViewControllerTransitioningDelegate' is unavailable in watchOS
341 |
342 |     public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:180:11: note: 'UIViewControllerTransitioningDelegate' has been explicitly marked unavailable here
178 |
179 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
180 | @protocol UIViewControllerTransitioningDelegate <NSObject>
    |           `- note: 'UIViewControllerTransitioningDelegate' has been explicitly marked unavailable here
181 |
182 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:22:54: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
20 |     }
21 |
22 |     func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {
   |                                                      `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
23 |         return duration
24 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 66 |
 67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 68 | @protocol UIViewControllerContextTransitioning <NSObject>
    |           `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:26:53: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
24 |     }
25 |
26 |     func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
   |                                                     `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
27 |         guard let toView = transitionContext.view(forKey: .to),
28 |             let toVC = transitionContext.viewController(forKey: .to)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 66 |
 67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 68 | @protocol UIViewControllerContextTransitioning <NSObject>
    |           `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
 69 |
 70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift:11:37: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
 9 | import SDWebImage
10 |
11 | class PresentingAnimator: NSObject, UIViewControllerAnimatedTransitioning {
   |                                     `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
12 |
13 |     private let imageInfo: ImageInfo
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
    |           `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
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/PhotoPreview/CustomImageView.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DimmingPresentationController.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/DismissingAnimator.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreview.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewCell.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PhotoPreviewViewController.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PresentingAnimator.swift -target arm64_32-apple-watchos9.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/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/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64_32/PhotoPreview-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/PackageFrameworks -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 -profile-generate -profile-coverage-mapping -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 -fmodule-map-file\=/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/GeneratedModuleMaps-watchos/SDWebImage.modulemap -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/.dependencies/checkouts/SDWebImage/SDWebImage/include -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/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name PhotoPreview -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64_32/PhotoPreview_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/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64_32/PhotoPreview.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64_32/PhotoPreview.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64_32/PhotoPreview-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64_32/PhotoPreview-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64_32/PhotoPreview-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64_32/PhotoPreview.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/PhotoPreview.build/Debug-watchos/PhotoPreview-t.build/Objects-normal/arm64_32/PhotoPreview.abi.json
SwiftCompile normal arm64_32 (in target 'PhotoPreview' from project 'PhotoPreview')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64_32 Compiling\ PanDirectionGestureRecognizer.swift /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift (in target 'PhotoPreview' from project 'PhotoPreview')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/PhotoPreview/PanDirectionGestureRecognizer.swift (in target 'PhotoPreview' from project 'PhotoPreview')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PanDirectionGestureRecognizer.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-21 17:32:04.766 xcodebuild[1103:5528] [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\ PhotoPreview (in target 'PhotoPreview' from project 'PhotoPreview')
	SwiftCompile normal arm64 (in target 'PhotoPreview' from project 'PhotoPreview')
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ PhotoPreview (in target 'PhotoPreview' from project 'PhotoPreview')
	SwiftCompile normal arm64_32 (in target 'PhotoPreview' from project 'PhotoPreview')
	Building workspace PhotoPreview with scheme PhotoPreview
(5 failures)
BUILD FAILURE 6.4 watchOS