The Swift Package Index logo.Swift Package Index

Build Information

Failed to build WWPuzzleBoardView, reference main (369de6), with Swift 6.4 for watchOS using Xcode 27.0 on 25 Sep 2026 02:28:30 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 WWPuzzleBoardView -destination generic/platform=watchOS

Build Log

 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:103:75: error: 'UIViewAnimatingPosition' is unavailable in watchOS
101 |     ///   - completion: 套用完成後立即呼叫的完成回呼
102 |     /// - Returns: 永遠回傳 `nil`
103 |     func instantAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                           `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
104 |
105 |         animations()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:103:114: error: 'UIViewPropertyAnimator' is unavailable in watchOS
101 |     ///   - completion: 套用完成後立即呼叫的完成回呼
102 |     /// - Returns: 永遠回傳 `nil`
103 |     func instantAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                  `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
104 |
105 |         animations()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:116:73: error: 'UIViewAnimatingPosition' is unavailable in watchOS
114 |     ///   - completion: 動畫完成後呼叫的完成回呼
115 |     /// - Returns: 由 `runningPropertyAnimator` 建立並立即啟動的 animator
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                         `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:116:112: error: 'UIViewPropertyAnimator' is unavailable in watchOS
114 |     ///   - completion: 動畫完成後呼叫的完成回呼
115 |     /// - Returns: 由 `runningPropertyAnimator` 建立並立即啟動的 animator
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:137:103: error: 'UIViewAnimatingPosition' is unavailable in watchOS
135 |     ///   - completion: 動畫完成後呼叫的完成回呼
136 |     /// - Returns: 已建立並開始執行的 animator
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                       `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Constant.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:137:142: error: 'UIViewPropertyAnimator' is unavailable in watchOS
135 |     ///   - completion: 動畫完成後呼叫的完成回呼
136 |     /// - Returns: 已建立並開始執行的 animator
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                              `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:156:148: error: 'UIViewAnimatingPosition' is unavailable in watchOS
154 |     ///   - completion: 動畫完成後呼叫的完成回呼
155 |     /// - Returns: 已建立並開始執行的 animator
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                                    `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:156:187: error: 'UIViewPropertyAnimator' is unavailable in watchOS
154 |     ///   - completion: 動畫完成後呼叫的完成回呼
155 |     /// - Returns: 已建立並開始執行的 animator
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                                                                           `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:118:24: error: 'UIViewPropertyAnimator' is unavailable in watchOS
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
    |                        `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
119 |             withDuration: 0.12,
120 |             delay: 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/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:139:24: error: 'UIViewPropertyAnimator' is unavailable in watchOS
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
    |                        `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
140 |         animator.addAnimations { animations() }
141 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:139:86: error: 'UICubicTimingParameters' is unavailable in watchOS
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
    |                                                                                      `- error: 'UICubicTimingParameters' is unavailable in watchOS
140 |         animator.addAnimations { animations() }
141 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITimingParameters.h:17:12: note: 'UICubicTimingParameters' has been explicitly marked unavailable here
15 |
16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
17 | @interface UICubicTimingParameters : NSObject  <UITimingCurveProvider>
   |            `- note: 'UICubicTimingParameters' has been explicitly marked unavailable here
18 |
19 | @property(nonatomic, readonly) UIViewAnimationCurve animationCurve;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:158:32: error: 'UISpringTimingParameters' is unavailable in watchOS
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
    |                                `- error: 'UISpringTimingParameters' is unavailable in watchOS
159 |         let animator = UIViewPropertyAnimator(duration: duration, timingParameters: timingParameters)
160 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITimingParameters.h:32:12: note: 'UISpringTimingParameters' has been explicitly marked unavailable here
30 |
31 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
32 | @interface UISpringTimingParameters : NSObject  <UITimingCurveProvider>
   |            `- note: 'UISpringTimingParameters' has been explicitly marked unavailable here
33 |
34 | @property(nonatomic, readonly) CGVector initialVelocity;
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ WWPuzzleBoardView (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:17:29: error: 'UIView' is unavailable in watchOS
 15 |         public let tileID: Int
 16 |
 17 |         weak var boardView: UIView?                             // 參照到父容器,用來做座標轉換與處理層級(bringSubviewToFront)
    |                             `- error: 'UIView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:39: error: 'UIImageView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                       `- error: 'UIImageView' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:54: error: 'init()' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                                      `- error: 'init()' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:13:21: error: 'UIView' is unavailable in watchOS
 11 | public extension WWPuzzleBoardView {
 12 |
 13 |     class TileView: UIView {
    |                     `- error: 'UIView' is unavailable in watchOS
 14 |
 15 |         public let tileID: 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/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:77:37: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 75 |
 76 |     /// 處理拖曳手勢
 77 |     @objc func handlePan(_ gesture: UIPanGestureRecognizer) {
    |                                     `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 78 |
 79 |         guard let boardView else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:90:38: error: 'UIView' is unavailable in watchOS
 88 |
 89 |     /// 處理狀態 .began: 記錄位置、把圖層拉到最上層、觸發開始拖曳通知。
 90 |     func beginDragging(in boardView: UIView) {
    |                                      `- error: 'UIView' is unavailable in watchOS
 91 |
 92 |         startCenter = center
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:39: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                       `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:77: error: 'UIView' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                                                             `- error: 'UIView' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/Utility/Constant.swift:84:75: error: 'UIViewAnimatingPosition' is unavailable in watchOS
 82 |     /// - Returns: 若有建立動畫控制器則回傳 `UIViewPropertyAnimator`;若為立即套用模式則回傳 `nil`
 83 |     @discardableResult
 84 |     func performAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)? = nil) -> UIViewPropertyAnimator? {
    |                                                                           `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
 85 |
 86 |         switch 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/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:84:120: error: 'UIViewPropertyAnimator' is unavailable in watchOS
 82 |     /// - Returns: 若有建立動畫控制器則回傳 `UIViewPropertyAnimator`;若為立即套用模式則回傳 `nil`
 83 |     @discardableResult
 84 |     func performAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)? = nil) -> UIViewPropertyAnimator? {
    |                                                                                                                        `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
 85 |
 86 |         switch 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/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:103:75: error: 'UIViewAnimatingPosition' is unavailable in watchOS
101 |     ///   - completion: 套用完成後立即呼叫的完成回呼
102 |     /// - Returns: 永遠回傳 `nil`
103 |     func instantAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                           `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
104 |
105 |         animations()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:103:114: error: 'UIViewPropertyAnimator' is unavailable in watchOS
101 |     ///   - completion: 套用完成後立即呼叫的完成回呼
102 |     /// - Returns: 永遠回傳 `nil`
103 |     func instantAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                  `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
104 |
105 |         animations()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:116:73: error: 'UIViewAnimatingPosition' is unavailable in watchOS
114 |     ///   - completion: 動畫完成後呼叫的完成回呼
115 |     /// - Returns: 由 `runningPropertyAnimator` 建立並立即啟動的 animator
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                         `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:116:112: error: 'UIViewPropertyAnimator' is unavailable in watchOS
114 |     ///   - completion: 動畫完成後呼叫的完成回呼
115 |     /// - Returns: 由 `runningPropertyAnimator` 建立並立即啟動的 animator
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:137:103: error: 'UIViewAnimatingPosition' is unavailable in watchOS
135 |     ///   - completion: 動畫完成後呼叫的完成回呼
136 |     /// - Returns: 已建立並開始執行的 animator
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                       `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:137:142: error: 'UIViewPropertyAnimator' is unavailable in watchOS
135 |     ///   - completion: 動畫完成後呼叫的完成回呼
136 |     /// - Returns: 已建立並開始執行的 animator
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                              `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:156:148: error: 'UIViewAnimatingPosition' is unavailable in watchOS
154 |     ///   - completion: 動畫完成後呼叫的完成回呼
155 |     /// - Returns: 已建立並開始執行的 animator
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                                    `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:156:187: error: 'UIViewPropertyAnimator' is unavailable in watchOS
154 |     ///   - completion: 動畫完成後呼叫的完成回呼
155 |     /// - Returns: 已建立並開始執行的 animator
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                                                                           `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Model.swift:98:22: error: 'UIView' is unavailable in watchOS
 96 |         let damping: CGFloat                    // 阻尼係數(0.0 ~ 1.0),值越小彈性越強,越接近 1.0 則動畫越平穩無震盪
 97 |         let initialVelocity: CGFloat            // 彈簧動畫的初始速度,數值越大起步衝勁越強
 98 |         let options: UIView.AnimationOptions    // 動畫選項(如 .curveEaseInOut、.allowUserInteraction 等),定義動畫的過渡曲線與行為
    |                      `- error: 'UIView' is unavailable in watchOS
 99 |     }
100 | }
/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/WWPuzzleBoardView/WWPuzzleBoardView.swift:11:39: error: 'UIView' is unavailable in watchOS
  9 |
 10 | /// MARK: - 拼圖看板視圖
 11 | public final class WWPuzzleBoardView: UIView {
    |                                       `- error: 'UIView' is unavailable in watchOS
 12 |
 13 |     public weak var delegate: WWPuzzleBoardView.Delegate?               // 拼圖看板的事件代理,用來回傳拖曳與互動狀態
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/resource_bundle_accessor.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/ImageFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Model.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Protocol.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/WWPuzzleBoardView.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/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-dependencies-1.json -enable-objc-interop -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_AVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name WWPuzzleBoardView -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView_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/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView.abi.json
SwiftCompile normal arm64_32 (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64_32 Compiling\ resource_bundle_accessor.swift /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/resource_bundle_accessor.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/resource_bundle_accessor.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile resource_bundle_accessor.swift
SwiftCompile normal arm64_32 Compiling\ Extension.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Extension.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift:22:21: error: 'UIGraphicsImageRendererFormat' is unavailable in watchOS
20 |         }
21 |
22 |         let format: UIGraphicsImageRendererFormat = .default()
   |                     `- error: 'UIGraphicsImageRendererFormat' is unavailable in watchOS
23 |         format.scale = self.scale
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/UIGraphicsImageRenderer.h:27:12: note: 'UIGraphicsImageRendererFormat' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
27 | @interface UIGraphicsImageRendererFormat : UIGraphicsRendererFormat
   |            `- note: 'UIGraphicsImageRendererFormat' has been explicitly marked unavailable here
28 |
29 | @property (nonatomic) CGFloat scale; // display scale of the context. The preferredFormat uses the scale most appropriate for the main screen's current configuration.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift:22:54: error: 'default()' is unavailable in watchOS
20 |         }
21 |
22 |         let format: UIGraphicsImageRendererFormat = .default()
   |                                                      `- error: 'default()' is unavailable in watchOS
23 |         format.scale = self.scale
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/UIGraphicsRenderer.h:25:1: note: 'default()' has been explicitly marked unavailable here
23 |
24 | // returns a default configured format object, best suited for the current device.
25 | + (instancetype)defaultFormat API_AVAILABLE(ios(10.0)) API_DEPRECATED_WITH_REPLACEMENT("preferredFormat", tvos(10.0, 11.0)) API_UNAVAILABLE(watchos);
   | `- note: 'default()' has been explicitly marked unavailable here
26 |
27 | // Returns a new format object best suited for the main screen’s current configuration.
SwiftCompile normal arm64_32 Compiling\ TileView.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:17:29: error: 'UIView' is unavailable in watchOS
 15 |         public let tileID: Int
 16 |
 17 |         weak var boardView: UIView?                             // 參照到父容器,用來做座標轉換與處理層級(bringSubviewToFront)
    |                             `- error: 'UIView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:39: error: 'UIImageView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                       `- error: 'UIImageView' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:54: error: 'init()' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                                      `- error: 'init()' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:13:21: error: 'UIView' is unavailable in watchOS
 11 | public extension WWPuzzleBoardView {
 12 |
 13 |     class TileView: UIView {
    |                     `- error: 'UIView' is unavailable in watchOS
 14 |
 15 |         public let tileID: 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/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:77:37: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 75 |
 76 |     /// 處理拖曳手勢
 77 |     @objc func handlePan(_ gesture: UIPanGestureRecognizer) {
    |                                     `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 78 |
 79 |         guard let boardView else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:90:38: error: 'UIView' is unavailable in watchOS
 88 |
 89 |     /// 處理狀態 .began: 記錄位置、把圖層拉到最上層、觸發開始拖曳通知。
 90 |     func beginDragging(in boardView: UIView) {
    |                                      `- error: 'UIView' is unavailable in watchOS
 91 |
 92 |         startCenter = center
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:39: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                       `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:77: error: 'UIView' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                                                             `- error: 'UIView' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:59:61: error: 'systemBlue' is unavailable in watchOS
 57 |         let changes = {
 58 |
 59 |             self.layer.shadowColor = (highlighted ? UIColor.systemBlue : UIColor.black).cgColor
    |                                                             `- error: 'systemBlue' is unavailable in watchOS
 60 |             self.layer.shadowOpacity = highlighted ? 0.28 : 0.10
 61 |             self.layer.shadowRadius = highlighted ? 14 : 6
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:123:49: note: 'systemBlue' has been explicitly marked unavailable here
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor          API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor        API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor         API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'systemBlue' has been explicitly marked unavailable here
124 | @property (class, nonatomic, readonly) UIColor *systemOrangeColor       API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
125 | @property (class, nonatomic, readonly) UIColor *systemYellowColor       API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:69:9: error: 'UIViewPropertyAnimator' is unavailable in watchOS
 67 |
 68 |         if (!animated) { changes(); return }
 69 |         UIViewPropertyAnimator.runningPropertyAnimator(withDuration: 0.12, delay: 0, options: [.curveEaseOut]) { changes() }
    |         `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
 70 |     }
 71 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TileView.swift
SwiftCompile normal arm64_32 Compiling\ ImageFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/ImageFactory.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/ImageFactory.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ImageFactory.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ WWPuzzleBoardView (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:17:29: error: 'UIView' is unavailable in watchOS
 15 |         public let tileID: Int
 16 |
 17 |         weak var boardView: UIView?                             // 參照到父容器,用來做座標轉換與處理層級(bringSubviewToFront)
    |                             `- error: 'UIView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:39: error: 'UIImageView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                       `- error: 'UIImageView' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:54: error: 'init()' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                                      `- error: 'init()' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:13:21: error: 'UIView' is unavailable in watchOS
 11 | public extension WWPuzzleBoardView {
 12 |
 13 |     class TileView: UIView {
    |                     `- error: 'UIView' is unavailable in watchOS
 14 |
 15 |         public let tileID: 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/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:77:37: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 75 |
 76 |     /// 處理拖曳手勢
 77 |     @objc func handlePan(_ gesture: UIPanGestureRecognizer) {
    |                                     `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 78 |
 79 |         guard let boardView else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:90:38: error: 'UIView' is unavailable in watchOS
 88 |
 89 |     /// 處理狀態 .began: 記錄位置、把圖層拉到最上層、觸發開始拖曳通知。
 90 |     func beginDragging(in boardView: UIView) {
    |                                      `- error: 'UIView' is unavailable in watchOS
 91 |
 92 |         startCenter = center
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:39: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                       `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:77: error: 'UIView' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                                                             `- error: 'UIView' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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 (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ WWPuzzleBoardView.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/WWPuzzleBoardView.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/WWPuzzleBoardView.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile WWPuzzleBoardView.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-24 22:28:20.896 xcodebuild[656:4235] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ WWPuzzleBoardView (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
	SwiftCompile normal arm64_32 (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
	Building workspace WWPuzzleBoardView with scheme WWPuzzleBoardView
(3 failures)
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolved source packages:
  WWPuzzleBoardView: /Users/admin/builder/spi-builder-workspace
resolved source packages: WWPuzzleBoardView
2026-09-24 22:28:26.969 xcodebuild[784:4725] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "WWPuzzleBoardView",
  "name" : "WWPuzzleBoardView",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "WWPuzzleBoardView",
      "targets" : [
        "WWPuzzleBoardView"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "WWPuzzleBoardView",
      "module_type" : "SwiftTarget",
      "name" : "WWPuzzleBoardView",
      "path" : "Sources/WWPuzzleBoardView",
      "product_memberships" : [
        "WWPuzzleBoardView"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Privacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "PuzzleBoardView/ImageFactory.swift",
        "PuzzleBoardView/TileView.swift",
        "Utility/Constant.swift",
        "Utility/Extension.swift",
        "Utility/Model.swift",
        "Utility/Protocol.swift",
        "WWPuzzleBoardView.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
{
  "workspace" : {
    "name" : "WWPuzzleBoardView",
    "schemes" : [
      "WWPuzzleBoardView"
    ]
  }
}
2026-09-24 22:28:28.195 xcodebuild[792:4794] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme WWPuzzleBoardView -destination generic/platform=watchOS
Command line invocation:
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme WWPuzzleBoardView -destination generic/platform=watchOS
Resolve Package Graph
Resolved source packages:
  WWPuzzleBoardView: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (3 targets)
    Target 'WWPuzzleBoardView-product' in project 'WWPuzzleBoardView'
        ➜ Explicit dependency on target 'WWPuzzleBoardView' in project 'WWPuzzleBoardView'
        ➜ Explicit dependency on target 'WWPuzzleBoardView_WWPuzzleBoardView' in project 'WWPuzzleBoardView'
    Target 'WWPuzzleBoardView' in project 'WWPuzzleBoardView'
        ➜ Explicit dependency on target 'WWPuzzleBoardView_WWPuzzleBoardView' in project 'WWPuzzleBoardView'
    Target 'WWPuzzleBoardView_WWPuzzleBoardView' in project 'WWPuzzleBoardView' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
SwiftDriver WWPuzzleBoardView normal arm64_32 com.apple.xcode.tools.swift.compiler (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name WWPuzzleBoardView -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_AVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64_32-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftDriver WWPuzzleBoardView normal arm64 com.apple.xcode.tools.swift.compiler (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name WWPuzzleBoardView -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_AVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftCompile normal arm64 Compiling\ TileView.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:17:29: error: 'UIView' is unavailable in watchOS
 15 |         public let tileID: Int
 16 |
 17 |         weak var boardView: UIView?                             // 參照到父容器,用來做座標轉換與處理層級(bringSubviewToFront)
    |                             `- error: 'UIView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:39: error: 'UIImageView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                       `- error: 'UIImageView' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:54: error: 'init()' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                                      `- error: 'init()' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:13:21: error: 'UIView' is unavailable in watchOS
 11 | public extension WWPuzzleBoardView {
 12 |
 13 |     class TileView: UIView {
    |                     `- error: 'UIView' is unavailable in watchOS
 14 |
 15 |         public let tileID: 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/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:77:37: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 75 |
 76 |     /// 處理拖曳手勢
 77 |     @objc func handlePan(_ gesture: UIPanGestureRecognizer) {
    |                                     `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 78 |
 79 |         guard let boardView else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:90:38: error: 'UIView' is unavailable in watchOS
 88 |
 89 |     /// 處理狀態 .began: 記錄位置、把圖層拉到最上層、觸發開始拖曳通知。
 90 |     func beginDragging(in boardView: UIView) {
    |                                      `- error: 'UIView' is unavailable in watchOS
 91 |
 92 |         startCenter = center
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:39: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                       `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:77: error: 'UIView' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                                                             `- error: 'UIView' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TileView.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:59:61: error: 'systemBlue' is unavailable in watchOS
 57 |         let changes = {
 58 |
 59 |             self.layer.shadowColor = (highlighted ? UIColor.systemBlue : UIColor.black).cgColor
    |                                                             `- error: 'systemBlue' is unavailable in watchOS
 60 |             self.layer.shadowOpacity = highlighted ? 0.28 : 0.10
 61 |             self.layer.shadowRadius = highlighted ? 14 : 6
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:123:49: note: 'systemBlue' has been explicitly marked unavailable here
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor          API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor        API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor         API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'systemBlue' has been explicitly marked unavailable here
124 | @property (class, nonatomic, readonly) UIColor *systemOrangeColor       API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
125 | @property (class, nonatomic, readonly) UIColor *systemYellowColor       API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:69:9: error: 'UIViewPropertyAnimator' is unavailable in watchOS
 67 |
 68 |         if (!animated) { changes(); return }
 69 |         UIViewPropertyAnimator.runningPropertyAnimator(withDuration: 0.12, delay: 0, options: [.curveEaseOut]) { changes() }
    |         `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
 70 |     }
 71 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
SwiftCompile normal arm64 Compiling\ resource_bundle_accessor.swift /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/resource_bundle_accessor.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/resource_bundle_accessor.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile resource_bundle_accessor.swift
SwiftCompile normal arm64 Compiling\ Model.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Model.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Model.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Model.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ WWPuzzleBoardView (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:17:29: error: 'UIView' is unavailable in watchOS
 15 |         public let tileID: Int
 16 |
 17 |         weak var boardView: UIView?                             // 參照到父容器,用來做座標轉換與處理層級(bringSubviewToFront)
    |                             `- error: 'UIView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:39: error: 'UIImageView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                       `- error: 'UIImageView' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:54: error: 'init()' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                                      `- error: 'init()' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:13:21: error: 'UIView' is unavailable in watchOS
 11 | public extension WWPuzzleBoardView {
 12 |
 13 |     class TileView: UIView {
    |                     `- error: 'UIView' is unavailable in watchOS
 14 |
 15 |         public let tileID: 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/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:77:37: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 75 |
 76 |     /// 處理拖曳手勢
 77 |     @objc func handlePan(_ gesture: UIPanGestureRecognizer) {
    |                                     `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 78 |
 79 |         guard let boardView else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:90:38: error: 'UIView' is unavailable in watchOS
 88 |
 89 |     /// 處理狀態 .began: 記錄位置、把圖層拉到最上層、觸發開始拖曳通知。
 90 |     func beginDragging(in boardView: UIView) {
    |                                      `- error: 'UIView' is unavailable in watchOS
 91 |
 92 |         startCenter = center
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:39: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                       `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:77: error: 'UIView' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                                                             `- error: 'UIView' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/Utility/Constant.swift:84:75: error: 'UIViewAnimatingPosition' is unavailable in watchOS
 82 |     /// - Returns: 若有建立動畫控制器則回傳 `UIViewPropertyAnimator`;若為立即套用模式則回傳 `nil`
 83 |     @discardableResult
 84 |     func performAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)? = nil) -> UIViewPropertyAnimator? {
    |                                                                           `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
 85 |
 86 |         switch 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/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:84:120: error: 'UIViewPropertyAnimator' is unavailable in watchOS
 82 |     /// - Returns: 若有建立動畫控制器則回傳 `UIViewPropertyAnimator`;若為立即套用模式則回傳 `nil`
 83 |     @discardableResult
 84 |     func performAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)? = nil) -> UIViewPropertyAnimator? {
    |                                                                                                                        `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
 85 |
 86 |         switch 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/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:103:75: error: 'UIViewAnimatingPosition' is unavailable in watchOS
101 |     ///   - completion: 套用完成後立即呼叫的完成回呼
102 |     /// - Returns: 永遠回傳 `nil`
103 |     func instantAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                           `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
104 |
105 |         animations()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:103:114: error: 'UIViewPropertyAnimator' is unavailable in watchOS
101 |     ///   - completion: 套用完成後立即呼叫的完成回呼
102 |     /// - Returns: 永遠回傳 `nil`
103 |     func instantAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                  `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
104 |
105 |         animations()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:116:73: error: 'UIViewAnimatingPosition' is unavailable in watchOS
114 |     ///   - completion: 動畫完成後呼叫的完成回呼
115 |     /// - Returns: 由 `runningPropertyAnimator` 建立並立即啟動的 animator
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                         `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:116:112: error: 'UIViewPropertyAnimator' is unavailable in watchOS
114 |     ///   - completion: 動畫完成後呼叫的完成回呼
115 |     /// - Returns: 由 `runningPropertyAnimator` 建立並立即啟動的 animator
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:137:103: error: 'UIViewAnimatingPosition' is unavailable in watchOS
135 |     ///   - completion: 動畫完成後呼叫的完成回呼
136 |     /// - Returns: 已建立並開始執行的 animator
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                       `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:137:142: error: 'UIViewPropertyAnimator' is unavailable in watchOS
135 |     ///   - completion: 動畫完成後呼叫的完成回呼
136 |     /// - Returns: 已建立並開始執行的 animator
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                              `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:156:148: error: 'UIViewAnimatingPosition' is unavailable in watchOS
154 |     ///   - completion: 動畫完成後呼叫的完成回呼
155 |     /// - Returns: 已建立並開始執行的 animator
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                                    `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:156:187: error: 'UIViewPropertyAnimator' is unavailable in watchOS
154 |     ///   - completion: 動畫完成後呼叫的完成回呼
155 |     /// - Returns: 已建立並開始執行的 animator
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                                                                           `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Model.swift:98:22: error: 'UIView' is unavailable in watchOS
 96 |         let damping: CGFloat                    // 阻尼係數(0.0 ~ 1.0),值越小彈性越強,越接近 1.0 則動畫越平穩無震盪
 97 |         let initialVelocity: CGFloat            // 彈簧動畫的初始速度,數值越大起步衝勁越強
 98 |         let options: UIView.AnimationOptions    // 動畫選項(如 .curveEaseInOut、.allowUserInteraction 等),定義動畫的過渡曲線與行為
    |                      `- error: 'UIView' is unavailable in watchOS
 99 |     }
100 | }
/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/WWPuzzleBoardView/WWPuzzleBoardView.swift:11:39: error: 'UIView' is unavailable in watchOS
  9 |
 10 | /// MARK: - 拼圖看板視圖
 11 | public final class WWPuzzleBoardView: UIView {
    |                                       `- error: 'UIView' is unavailable in watchOS
 12 |
 13 |     public weak var delegate: WWPuzzleBoardView.Delegate?               // 拼圖看板的事件代理,用來回傳拖曳與互動狀態
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/resource_bundle_accessor.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/ImageFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Model.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Protocol.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/WWPuzzleBoardView.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/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_AVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name WWPuzzleBoardView -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView_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/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64/WWPuzzleBoardView.abi.json
SwiftCompile normal arm64 (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ WWPuzzleBoardView.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/WWPuzzleBoardView.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/WWPuzzleBoardView.swift:11:39: error: 'UIView' is unavailable in watchOS
  9 |
 10 | /// MARK: - 拼圖看板視圖
 11 | public final class WWPuzzleBoardView: UIView {
    |                                       `- error: 'UIView' is unavailable in watchOS
 12 |
 13 |     public weak var delegate: WWPuzzleBoardView.Delegate?               // 拼圖看板的事件代理,用來回傳拖曳與互動狀態
/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/WWPuzzleBoardView/WWPuzzleBoardView.swift:112:28: error: 'secondarySystemBackground' is unavailable in watchOS
110 |     /// 共同的初始化
111 |     func commonInit() {
112 |         backgroundColor = .secondarySystemBackground
    |                            `- error: 'secondarySystemBackground' is unavailable in watchOS
113 |         layer.cornerRadius = 16
114 |         clipsToBounds = true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:209:49: note: 'secondarySystemBackground' has been explicitly marked unavailable here
207 |  */
208 | @property (class, nonatomic, readonly) UIColor *systemBackgroundColor                   API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
209 | @property (class, nonatomic, readonly) UIColor *secondarySystemBackgroundColor          API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    |                                                 `- note: 'secondarySystemBackground' has been explicitly marked unavailable here
210 | @property (class, nonatomic, readonly) UIColor *tertiarySystemBackgroundColor           API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
211 |
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/WWPuzzleBoardView.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile WWPuzzleBoardView.swift
SwiftCompile normal arm64 Compiling\ Extension.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Extension.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift:22:21: error: 'UIGraphicsImageRendererFormat' is unavailable in watchOS
20 |         }
21 |
22 |         let format: UIGraphicsImageRendererFormat = .default()
   |                     `- error: 'UIGraphicsImageRendererFormat' is unavailable in watchOS
23 |         format.scale = self.scale
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/UIGraphicsImageRenderer.h:27:12: note: 'UIGraphicsImageRendererFormat' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
27 | @interface UIGraphicsImageRendererFormat : UIGraphicsRendererFormat
   |            `- note: 'UIGraphicsImageRendererFormat' has been explicitly marked unavailable here
28 |
29 | @property (nonatomic) CGFloat scale; // display scale of the context. The preferredFormat uses the scale most appropriate for the main screen's current configuration.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift:22:54: error: 'default()' is unavailable in watchOS
20 |         }
21 |
22 |         let format: UIGraphicsImageRendererFormat = .default()
   |                                                      `- error: 'default()' is unavailable in watchOS
23 |         format.scale = self.scale
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/UIGraphicsRenderer.h:25:1: note: 'default()' has been explicitly marked unavailable here
23 |
24 | // returns a default configured format object, best suited for the current device.
25 | + (instancetype)defaultFormat API_AVAILABLE(ios(10.0)) API_DEPRECATED_WITH_REPLACEMENT("preferredFormat", tvos(10.0, 11.0)) API_UNAVAILABLE(watchos);
   | `- note: 'default()' has been explicitly marked unavailable here
26 |
27 | // Returns a new format object best suited for the main screen’s current configuration.
SwiftCompile normal arm64 Compiling\ ImageFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/ImageFactory.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/ImageFactory.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ImageFactory.swift
SwiftCompile normal arm64 Compiling\ Protocol.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Protocol.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Protocol.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Protocol.swift
SwiftCompile normal arm64 Compiling\ Constant.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:84:75: error: 'UIViewAnimatingPosition' is unavailable in watchOS
 82 |     /// - Returns: 若有建立動畫控制器則回傳 `UIViewPropertyAnimator`;若為立即套用模式則回傳 `nil`
 83 |     @discardableResult
 84 |     func performAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)? = nil) -> UIViewPropertyAnimator? {
    |                                                                           `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
 85 |
 86 |         switch 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/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:84:120: error: 'UIViewPropertyAnimator' is unavailable in watchOS
 82 |     /// - Returns: 若有建立動畫控制器則回傳 `UIViewPropertyAnimator`;若為立即套用模式則回傳 `nil`
 83 |     @discardableResult
 84 |     func performAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)? = nil) -> UIViewPropertyAnimator? {
    |                                                                                                                        `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
 85 |
 86 |         switch 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/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:103:75: error: 'UIViewAnimatingPosition' is unavailable in watchOS
101 |     ///   - completion: 套用完成後立即呼叫的完成回呼
102 |     /// - Returns: 永遠回傳 `nil`
103 |     func instantAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                           `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
104 |
105 |         animations()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:103:114: error: 'UIViewPropertyAnimator' is unavailable in watchOS
101 |     ///   - completion: 套用完成後立即呼叫的完成回呼
102 |     /// - Returns: 永遠回傳 `nil`
103 |     func instantAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                  `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
104 |
105 |         animations()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:116:73: error: 'UIViewAnimatingPosition' is unavailable in watchOS
114 |     ///   - completion: 動畫完成後呼叫的完成回呼
115 |     /// - Returns: 由 `runningPropertyAnimator` 建立並立即啟動的 animator
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                         `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:116:112: error: 'UIViewPropertyAnimator' is unavailable in watchOS
114 |     ///   - completion: 動畫完成後呼叫的完成回呼
115 |     /// - Returns: 由 `runningPropertyAnimator` 建立並立即啟動的 animator
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:137:103: error: 'UIViewAnimatingPosition' is unavailable in watchOS
135 |     ///   - completion: 動畫完成後呼叫的完成回呼
136 |     /// - Returns: 已建立並開始執行的 animator
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                       `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Constant.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:137:142: error: 'UIViewPropertyAnimator' is unavailable in watchOS
135 |     ///   - completion: 動畫完成後呼叫的完成回呼
136 |     /// - Returns: 已建立並開始執行的 animator
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                              `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:156:148: error: 'UIViewAnimatingPosition' is unavailable in watchOS
154 |     ///   - completion: 動畫完成後呼叫的完成回呼
155 |     /// - Returns: 已建立並開始執行的 animator
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                                    `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:156:187: error: 'UIViewPropertyAnimator' is unavailable in watchOS
154 |     ///   - completion: 動畫完成後呼叫的完成回呼
155 |     /// - Returns: 已建立並開始執行的 animator
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                                                                           `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:118:24: error: 'UIViewPropertyAnimator' is unavailable in watchOS
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
    |                        `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
119 |             withDuration: 0.12,
120 |             delay: 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/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:139:24: error: 'UIViewPropertyAnimator' is unavailable in watchOS
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
    |                        `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
140 |         animator.addAnimations { animations() }
141 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:139:86: error: 'UICubicTimingParameters' is unavailable in watchOS
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
    |                                                                                      `- error: 'UICubicTimingParameters' is unavailable in watchOS
140 |         animator.addAnimations { animations() }
141 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITimingParameters.h:17:12: note: 'UICubicTimingParameters' has been explicitly marked unavailable here
15 |
16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
17 | @interface UICubicTimingParameters : NSObject  <UITimingCurveProvider>
   |            `- note: 'UICubicTimingParameters' has been explicitly marked unavailable here
18 |
19 | @property(nonatomic, readonly) UIViewAnimationCurve animationCurve;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:158:32: error: 'UISpringTimingParameters' is unavailable in watchOS
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
    |                                `- error: 'UISpringTimingParameters' is unavailable in watchOS
159 |         let animator = UIViewPropertyAnimator(duration: duration, timingParameters: timingParameters)
160 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITimingParameters.h:32:12: note: 'UISpringTimingParameters' has been explicitly marked unavailable here
30 |
31 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
32 | @interface UISpringTimingParameters : NSObject  <UITimingCurveProvider>
   |            `- note: 'UISpringTimingParameters' has been explicitly marked unavailable here
33 |
34 | @property(nonatomic, readonly) CGVector initialVelocity;
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ WWPuzzleBoardView (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:17:29: error: 'UIView' is unavailable in watchOS
 15 |         public let tileID: Int
 16 |
 17 |         weak var boardView: UIView?                             // 參照到父容器,用來做座標轉換與處理層級(bringSubviewToFront)
    |                             `- error: 'UIView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:39: error: 'UIImageView' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                       `- error: 'UIImageView' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:20:54: error: 'init()' is unavailable in watchOS
 18 |         weak var delegate: TileViewDelegate?                    // 代理人,用來回報拖曳狀態給外部 board view。
 19 |
 20 |         private let contentImageView: UIImageView = .init()     // 用來顯示拼圖內容的影像視圖。
    |                                                      `- error: 'init()' is unavailable in watchOS
 21 |         private let cornerRadius: CGFloat = 8                   // 圓角半徑
 22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:13:21: error: 'UIView' is unavailable in watchOS
 11 | public extension WWPuzzleBoardView {
 12 |
 13 |     class TileView: UIView {
    |                     `- error: 'UIView' is unavailable in watchOS
 14 |
 15 |         public let tileID: 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/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:77:37: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 75 |
 76 |     /// 處理拖曳手勢
 77 |     @objc func handlePan(_ gesture: UIPanGestureRecognizer) {
    |                                     `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 78 |
 79 |         guard let boardView else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:90:38: error: 'UIView' is unavailable in watchOS
 88 |
 89 |     /// 處理狀態 .began: 記錄位置、把圖層拉到最上層、觸發開始拖曳通知。
 90 |     func beginDragging(in boardView: UIView) {
    |                                      `- error: 'UIView' is unavailable in watchOS
 91 |
 92 |         startCenter = center
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:39: error: 'UIPanGestureRecognizer' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                       `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/PuzzleBoardView/TileView.swift:98:77: error: 'UIView' is unavailable in watchOS
 96 |
 97 |     /// 處理狀態 .changed: 計算新位置並限制在 board 範圍內,通知移動。
 98 |     func updateDragging(with gesture: UIPanGestureRecognizer, in boardView: UIView) {
    |                                                                             `- error: 'UIView' is unavailable in watchOS
 99 |
100 |         let translation = gesture.translation(in: boardView)
/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/WWPuzzleBoardView/Utility/Constant.swift:84:75: error: 'UIViewAnimatingPosition' is unavailable in watchOS
 82 |     /// - Returns: 若有建立動畫控制器則回傳 `UIViewPropertyAnimator`;若為立即套用模式則回傳 `nil`
 83 |     @discardableResult
 84 |     func performAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)? = nil) -> UIViewPropertyAnimator? {
    |                                                                           `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
 85 |
 86 |         switch 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/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:84:120: error: 'UIViewPropertyAnimator' is unavailable in watchOS
 82 |     /// - Returns: 若有建立動畫控制器則回傳 `UIViewPropertyAnimator`;若為立即套用模式則回傳 `nil`
 83 |     @discardableResult
 84 |     func performAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)? = nil) -> UIViewPropertyAnimator? {
    |                                                                                                                        `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
 85 |
 86 |         switch 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/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:103:75: error: 'UIViewAnimatingPosition' is unavailable in watchOS
101 |     ///   - completion: 套用完成後立即呼叫的完成回呼
102 |     /// - Returns: 永遠回傳 `nil`
103 |     func instantAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                           `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
104 |
105 |         animations()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:103:114: error: 'UIViewPropertyAnimator' is unavailable in watchOS
101 |     ///   - completion: 套用完成後立即呼叫的完成回呼
102 |     /// - Returns: 永遠回傳 `nil`
103 |     func instantAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                  `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
104 |
105 |         animations()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:116:73: error: 'UIViewAnimatingPosition' is unavailable in watchOS
114 |     ///   - completion: 動畫完成後呼叫的完成回呼
115 |     /// - Returns: 由 `runningPropertyAnimator` 建立並立即啟動的 animator
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                         `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:116:112: error: 'UIViewPropertyAnimator' is unavailable in watchOS
114 |     ///   - completion: 動畫完成後呼叫的完成回呼
115 |     /// - Returns: 由 `runningPropertyAnimator` 建立並立即啟動的 animator
116 |     func quickAnimation(animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
117 |
118 |         let animator = UIViewPropertyAnimator.runningPropertyAnimator(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:137:103: error: 'UIViewAnimatingPosition' is unavailable in watchOS
135 |     ///   - completion: 動畫完成後呼叫的完成回呼
136 |     /// - Returns: 已建立並開始執行的 animator
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                       `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:137:142: error: 'UIViewPropertyAnimator' is unavailable in watchOS
135 |     ///   - completion: 動畫完成後呼叫的完成回呼
136 |     /// - Returns: 已建立並開始執行的 animator
137 |     func interactiveAnimation(duration: TimeInterval, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                              `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
138 |
139 |         let animator = UIViewPropertyAnimator( duration: duration, timingParameters: UICubicTimingParameters(animationCurve: .easeOut))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:156:148: error: 'UIViewAnimatingPosition' is unavailable in watchOS
154 |     ///   - completion: 動畫完成後呼叫的完成回呼
155 |     /// - Returns: 已建立並開始執行的 animator
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                                    `- error: 'UIViewAnimatingPosition' is unavailable in watchOS
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewAnimating.h:20:28: note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
18 | } API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) ;
19 |
20 | typedef NS_ENUM(NSInteger, UIViewAnimatingPosition) {
   |                            `- note: 'UIViewAnimatingPosition' has been explicitly marked unavailable here
21 |     UIViewAnimatingPositionEnd,
22 |     UIViewAnimatingPositionStart,
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift:156:187: error: 'UIViewPropertyAnimator' is unavailable in watchOS
154 |     ///   - completion: 動畫完成後呼叫的完成回呼
155 |     /// - Returns: 已建立並開始執行的 animator
156 |     func springAnimation(duration: TimeInterval, dampingRatio: CGFloat, initialVelocity: CGVector, animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)?) -> UIViewPropertyAnimator? {
    |                                                                                                                                                                                           `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
157 |
158 |         let timingParameters = UISpringTimingParameters(dampingRatio: dampingRatio, initialVelocity: initialVelocity)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewPropertyAnimator.h:17:12: note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 15 |
 16 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 17 | @interface UIViewPropertyAnimator : NSObject <UIViewImplicitlyAnimating, NSCopying>
    |            `- note: 'UIViewPropertyAnimator' has been explicitly marked unavailable here
 18 |
 19 | @property(nullable, nonatomic, copy, readonly) id <UITimingCurveProvider> timingParameters;
/Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Model.swift:98:22: error: 'UIView' is unavailable in watchOS
 96 |         let damping: CGFloat                    // 阻尼係數(0.0 ~ 1.0),值越小彈性越強,越接近 1.0 則動畫越平穩無震盪
 97 |         let initialVelocity: CGFloat            // 彈簧動畫的初始速度,數值越大起步衝勁越強
 98 |         let options: UIView.AnimationOptions    // 動畫選項(如 .curveEaseInOut、.allowUserInteraction 等),定義動畫的過渡曲線與行為
    |                      `- error: 'UIView' is unavailable in watchOS
 99 |     }
100 | }
/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/WWPuzzleBoardView/WWPuzzleBoardView.swift:11:39: error: 'UIView' is unavailable in watchOS
  9 |
 10 | /// MARK: - 拼圖看板視圖
 11 | public final class WWPuzzleBoardView: UIView {
    |                                       `- error: 'UIView' is unavailable in watchOS
 12 |
 13 |     public weak var delegate: WWPuzzleBoardView.Delegate?               // 拼圖看板的事件代理,用來回傳拖曳與互動狀態
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/resource_bundle_accessor.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/ImageFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/PuzzleBoardView/TileView.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Constant.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Model.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Protocol.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/WWPuzzleBoardView.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/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-dependencies-2.json -enable-objc-interop -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_AVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name WWPuzzleBoardView -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView_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/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/WWPuzzleBoardView.build/Debug-watchos/WWPuzzleBoardView-t.build/Objects-normal/arm64_32/WWPuzzleBoardView.abi.json
SwiftCompile normal arm64_32 (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64_32 Compiling\ Extension.swift /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/WWPuzzleBoardView/Utility/Extension.swift (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Extension.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-09-24 22:28:29.156 xcodebuild[793:4818] [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\ WWPuzzleBoardView (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
	SwiftCompile normal arm64 (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ WWPuzzleBoardView (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
	SwiftCompile normal arm64_32 (in target 'WWPuzzleBoardView' from project 'WWPuzzleBoardView')
	Building workspace WWPuzzleBoardView with scheme WWPuzzleBoardView
(5 failures)
BUILD FAILURE 6.4 watchOS