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=watchOSBuild 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