Build Information
Failed to build MediaViewer, reference main (ef88c7), with Swift 6.4 for watchOS using Xcode 27.0 on 25 Sep 2026 06:42:58 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 MediaViewer -destination generic/platform=watchOSBuild Log
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerDataSource.swift:89:47: error: 'UIView' is unavailable in watchOS
87 | func mediaViewer(
88 | _ mediaViewer: MediaViewerViewController,
89 | transitionSourceImageWith sourceView: UIView?
| `- error: 'UIView' is unavailable in watchOS
90 | ) -> UIImage?
91 | }
/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/MediaViewer/MediaViewerDataSource.swift:133:47: error: 'UIView' is unavailable in watchOS
131 | public func mediaViewer(
132 | _ mediaViewer: MediaViewerViewController,
133 | transitionSourceImageWith sourceView: UIView?
| `- error: 'UIView' is unavailable in watchOS
134 | ) -> UIImage? {
135 | switch sourceView {
/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/MediaViewer/MediaViewerDataSource.swift:183:10: error: 'UIView' is unavailable in watchOS
181 | _ mediaViewer: MediaViewerViewController,
182 | transitionSourceViewForMediaWith mediaIdentifier: AnyMediaIdentifier
183 | ) -> UIView? {
| `- error: 'UIView' is unavailable in watchOS
184 | self.mediaViewer(
185 | mediaViewer,
/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/MediaViewer/MediaViewerDataSource.swift:119:24: error: 'preparingThumbnail(of:)' is unavailable in watchOS
117 | case .image(.sync(let image)):
118 | return .sync(
119 | image?.preparingThumbnail(of: preferredThumbnailSize) ?? image
| `- error: 'preparingThumbnail(of:)' is unavailable in watchOS
120 | )
121 | case .image(.async(let transition, let imageProvider)):
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h:307:1: note: 'preparingThumbnail(of:)' has been explicitly marked unavailable here
305 | - (void)prepareForDisplayWithCompletionHandler:(void (^)(UIImage *_Nullable))completionHandler NS_SWIFT_ASYNC_NAME(byPreparingForDisplay()) API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
306 |
307 | - (nullable UIImage *)imageByPreparingThumbnailOfSize:(CGSize)size API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'preparingThumbnail(of:)' has been explicitly marked unavailable here
308 |
309 | - (void)prepareThumbnailOfSize:(CGSize)size completionHandler:(void (^)(UIImage *_Nullable))completionHandler NS_SWIFT_ASYNC_NAME(byPreparingThumbnail(ofSize:)) API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerDataSource.swift:124:37: error: 'byPreparingThumbnail(ofSize:)' is unavailable in watchOS
122 | return .async(transition: transition) {
123 | let image = await imageProvider()
124 | return await image?.byPreparingThumbnail(
| `- error: 'byPreparingThumbnail(ofSize:)' is unavailable in watchOS
125 | ofSize: preferredThumbnailSize
126 | ) ?? image
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImage.h:309:1: note: 'byPreparingThumbnail(ofSize:)' has been explicitly marked unavailable here
307 | - (nullable UIImage *)imageByPreparingThumbnailOfSize:(CGSize)size API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
308 |
309 | - (void)prepareThumbnailOfSize:(CGSize)size completionHandler:(void (^)(UIImage *_Nullable))completionHandler NS_SWIFT_ASYNC_NAME(byPreparingThumbnail(ofSize:)) API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'byPreparingThumbnail(ofSize:)' has been explicitly marked unavailable here
310 |
311 | #endif
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerDataSource.swift:136:37: error: 'UIImageView' is unavailable in watchOS
134 | ) -> UIImage? {
135 | switch sourceView {
136 | case let sourceImageView as UIImageView:
| `- error: 'UIImageView' is unavailable in watchOS
137 | return sourceImageView.image
138 | default:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MediaViewer/MediaViewerDataSource.swift:136:37: error: 'UIImageView' is unavailable in watchOS
134 | ) -> UIImage? {
135 | switch sourceView {
136 | case let sourceImageView as UIImageView:
| `- error: 'UIImageView' is unavailable in watchOS
137 | return sourceImageView.image
138 | default:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MediaViewer/MediaViewerDelegate.swift:21:49: error: 'UIViewController' is unavailable in watchOS
19 | func mediaViewer(
20 | _ mediaViewer: MediaViewerViewController,
21 | willBeginPopTransitionTo destinationVC: UIViewController
| `- error: 'UIViewController' is unavailable in watchOS
22 | )
23 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerDataSource.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MediaViewerDataSource.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerDelegate.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MediaViewerDelegate.swift
SwiftCompile normal arm64_32 Compiling\ PageControlBarThumbnailCell.swift,\ MediaViewerInteractivePopTransition.swift /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/PageControlBarThumbnailCell.swift /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift (in target 'MediaViewer' from project 'MediaViewer')
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/PageControlBarThumbnailCell.swift:12:20: error: 'UIImageView' is unavailable in watchOS
10 | final class PageControlBarThumbnailCell: UICollectionViewCell {
11 |
12 | let imageView: UIImageView = {
| `- error: 'UIImageView' is unavailable in watchOS
13 | let imageView = UIImageView()
14 | imageView.contentMode = .scaleAspectFill
/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/MediaViewer/PageControlBar/PageControlBarThumbnailCell.swift:13:25: error: 'UIImageView' is unavailable in watchOS
11 |
12 | let imageView: UIImageView = {
13 | let imageView = UIImageView()
| `- error: 'UIImageView' is unavailable in watchOS
14 | imageView.contentMode = .scaleAspectFill
15 | return imageView
/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/MediaViewer/PageControlBar/PageControlBarThumbnailCell.swift:13:25: error: 'init()' is unavailable in watchOS
11 |
12 | let imageView: UIImageView = {
13 | let imageView = UIImageView()
| `- error: 'init()' is unavailable in watchOS
14 | imageView.contentMode = .scaleAspectFill
15 | return imageView
/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/MediaViewer/PageControlBar/PageControlBarThumbnailCell.swift:10:42: error: 'UICollectionViewCell' is unavailable in watchOS
8 | import UIKit
9 |
10 | final class PageControlBarThumbnailCell: UICollectionViewCell {
| `- error: 'UICollectionViewCell' is unavailable in watchOS
11 |
12 | let imageView: UIImageView = {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewCell.h:65:12: note: 'UICollectionViewCell' has been explicitly marked unavailable here
63 |
64 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
65 | @interface UICollectionViewCell : UICollectionReusableView
| `- note: 'UICollectionViewCell' has been explicitly marked unavailable here
66 |
67 | /// Returns the current configuration state for the cell.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/PageControlBarThumbnailCell.swift:44:9: error: 'NSLayoutConstraint' is unavailable in watchOS
42 | // Layout
43 | imageView.translatesAutoresizingMaskIntoConstraints = false
44 | NSLayoutConstraint.activate([
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
45 | imageView.topAnchor.constraint(equalTo: contentView.topAnchor),
46 | imageView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
| `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string. The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:13:21: error: 'UIView' is unavailable in watchOS
11 | final class MediaViewerInteractivePopTransition: NSObject {
12 |
13 | let sourceView: UIView?
| `- error: 'UIView' is unavailable in watchOS
14 |
15 | private var animator: UIViewPropertyAnimator?
/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/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:15:27: error: 'UIViewPropertyAnimator' is unavailable in watchOS
13 | let sourceView: UIView?
14 |
15 | private var animator: UIViewPropertyAnimator?
| `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
16 | private var transitionContext: (any UIViewControllerContextTransitioning)?
17 |
/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/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:16:41: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
14 |
15 | private var animator: UIViewPropertyAnimator?
16 | private var transitionContext: (any UIViewControllerContextTransitioning)?
| `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
17 |
18 | private var shouldAnimateTabBar = false
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
66 |
67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
68 | @protocol UIViewControllerContextTransitioning <NSObject>
| `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:20:25: error: 'UITabBar' is unavailable in watchOS
18 | private var shouldAnimateTabBar = false
19 |
20 | private var tabBar: UITabBar? {
| `- error: 'UITabBar' is unavailable in watchOS
21 | transitionContext?.viewController(forKey: .to)?.tabBarController?.tabBar
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/UITabBar.h:28:12: note: 'UITabBar' has been explicitly marked unavailable here
26 |
27 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
28 | @interface UITabBar : UIView
| `- note: 'UITabBar' has been explicitly marked unavailable here
29 |
30 | @property(nullable, nonatomic, weak) id<UITabBarDelegate> delegate; // weak reference. default is nil
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:38:51: error: 'UITabBarAppearance' is unavailable in watchOS
36 |
37 | private var sourceViewHiddenBackup = false
38 | private var tabBarScrollEdgeAppearanceBackup: UITabBarAppearance?
| `- error: 'UITabBarAppearance' is unavailable in watchOS
39 | private var tabBarAlphaBackup: CGFloat?
40 | private var toolbarHiddenBackup = 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/UITabBarAppearance.h:80:12: note: 'UITabBarAppearance' has been explicitly marked unavailable here
78 |
79 | UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
80 | @interface UITabBarAppearance : UIBarAppearance
| `- note: 'UITabBarAppearance' has been explicitly marked unavailable here
81 |
82 | /// The appearance for the stacked tab bar item layout
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:42:42: error: 'UIBarButtonItem' is unavailable in watchOS
40 | private var toolbarHiddenBackup = true
41 | private var toolbarAlphaBackup: CGFloat = 0
42 | private var toVCToolbarItemsBackup: [UIBarButtonItem]?
| `- error: 'UIBarButtonItem' is unavailable in watchOS
43 | private var toVCAdditionalSafeAreaInsetsBackup: UIEdgeInsets = .zero
44 | private var initialZoomScale: CGFloat = 1
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h:75:12: note: 'UIBarButtonItem' has been explicitly marked unavailable here
73 |
74 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
75 | @interface UIBarButtonItem : UIBarItem <NSCoding>
| `- note: 'UIBarButtonItem' has been explicitly marked unavailable here
76 |
77 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:52:22: error: 'UIView' is unavailable in watchOS
50 | // MARK: - Initializers
51 |
52 | init(sourceView: UIView?) {
| `- error: 'UIView' is unavailable in watchOS
53 | self.sourceView = sourceView
54 | super.init()
/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/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:92:34: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
90 |
91 | func startInteractiveTransition(
92 | _ transitionContext: any UIViewControllerContextTransitioning
| `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
93 | ) {
94 | assert(didPrepare)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
66 |
67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
68 | @protocol UIViewControllerContextTransitioning <NSObject>
| `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:432:36: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
430 |
431 | private func mediaViewerCurrentPageView(
432 | in transitionContext: some UIViewControllerContextTransitioning
| `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
433 | ) -> MediaViewerOnePageView {
434 | guard let mediaViewer = transitionContext.viewController(forKey: .from) as? MediaViewerViewController else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
66 |
67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
68 | @protocol UIViewControllerContextTransitioning <NSObject>
| `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:432:36: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
430 |
431 | private func mediaViewerCurrentPageView(
432 | in transitionContext: some UIViewControllerContextTransitioning
| `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
433 | ) -> MediaViewerOnePageView {
434 | guard let mediaViewer = transitionContext.viewController(forKey: .from) as? MediaViewerViewController else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
66 |
67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
68 | @protocol UIViewControllerContextTransitioning <NSObject>
| `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:443:24: error: 'UIPanGestureRecognizer' is unavailable in watchOS
441 |
442 | func panRecognized(
443 | by recognizer: UIPanGestureRecognizer,
| `- error: 'UIPanGestureRecognizer' is unavailable in watchOS
444 | in mediaViewer: MediaViewerViewController
445 | ) {
/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/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:58:48: error: 'UIViewControllerInteractiveTransitioning' is unavailable in watchOS
56 | }
57 |
58 | extension MediaViewerInteractivePopTransition: UIViewControllerInteractiveTransitioning {
| `- error: 'UIViewControllerInteractiveTransitioning' is unavailable in watchOS
59 |
60 | func prepareForInteractiveTransition(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:161:11: note: 'UIViewControllerInteractiveTransitioning' has been explicitly marked unavailable here
159 |
160 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
161 | @protocol UIViewControllerInteractiveTransitioning <NSObject>
| `- note: 'UIViewControllerInteractiveTransitioning' has been explicitly marked unavailable here
162 | - (void)startInteractiveTransition:(id <UIViewControllerContextTransitioning>)transitionContext;
163 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:21:52: error: 'to' is unavailable in watchOS
19 |
20 | private var tabBar: UITabBar? {
21 | transitionContext?.viewController(forKey: .to)?.tabBarController?.tabBar
| `- error: 'to' is unavailable in watchOS
22 | }
23 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:24:57: note: 'to' has been explicitly marked unavailable here
22 |
23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
| `- note: 'to' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageViewController.swift:25:34: error: 'init()' is unavailable in watchOS
23 | weak var delegate: (any MediaViewerOnePageViewControllerDelegate)?
24 |
25 | let mediaViewerOnePageView = MediaViewerOnePageView()
| `- error: 'init()' is unavailable in watchOS
26 |
27 | let singleTapRecognizer = UITapGestureRecognizer()
/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/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:96:75: error: 'from' is unavailable in watchOS
94 | assert(didPrepare)
95 |
96 | guard let mediaViewer = transitionContext.viewController(forKey: .from) as? MediaViewerViewController,
| `- error: 'from' is unavailable in watchOS
97 | let mediaViewerView = transitionContext.view(forKey: .from),
98 | let toView = transitionContext.view(forKey: .to),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:23:57: note: 'from' has been explicitly marked unavailable here
21 | // that are created by the system.
22 |
23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
| `- note: 'from' has been explicitly marked unavailable here
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
25 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:97:69: error: 'from' is unavailable in watchOS
95 |
96 | guard let mediaViewer = transitionContext.viewController(forKey: .from) as? MediaViewerViewController,
97 | let mediaViewerView = transitionContext.view(forKey: .from),
| `- error: 'from' is unavailable in watchOS
98 | let toView = transitionContext.view(forKey: .to),
99 | let toVC = transitionContext.viewController(forKey: .to),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:26:47: note: 'from' has been explicitly marked unavailable here
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
| `- note: 'from' has been explicitly marked unavailable here
27 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextToViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(8.0));
28 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:98:60: error: 'to' is unavailable in watchOS
96 | guard let mediaViewer = transitionContext.viewController(forKey: .from) as? MediaViewerViewController,
97 | let mediaViewerView = transitionContext.view(forKey: .from),
98 | let toView = transitionContext.view(forKey: .to),
| `- error: 'to' is unavailable in watchOS
99 | let toVC = transitionContext.viewController(forKey: .to),
100 | let navigationController = mediaViewer.navigationController
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:27:47: note: 'to' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
27 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextToViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(8.0));
| `- note: 'to' has been explicitly marked unavailable here
28 |
29 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:99:68: error: 'to' is unavailable in watchOS
97 | let mediaViewerView = transitionContext.view(forKey: .from),
98 | let toView = transitionContext.view(forKey: .to),
99 | let toVC = transitionContext.viewController(forKey: .to),
| `- error: 'to' is unavailable in watchOS
100 | let navigationController = mediaViewer.navigationController
101 | else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:24:57: note: 'to' has been explicitly marked unavailable here
22 |
23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
| `- note: 'to' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:107:47: error: 'containerView' is unavailable in watchOS
105 | }
106 | self.transitionContext = transitionContext
107 | let containerView = transitionContext.containerView
| `- error: 'containerView' is unavailable in watchOS
108 |
109 | let toolbar = navigationController.toolbar!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:71:40: note: 'containerView' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
71 | @property(nonatomic, readonly) UIView *containerView API_UNAVAILABLE(watchos);
| `- note: 'containerView' has been explicitly marked unavailable here
72 |
73 | // Most of the time this is YES. For custom transitions that use the new UIModalPresentationCustom
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:113:52: error: 'scrollEdgeAppearance' is unavailable in watchOS
111 | // Back up
112 | sourceViewHiddenBackup = sourceView?.isHidden ?? false
113 | tabBarScrollEdgeAppearanceBackup = tabBar?.scrollEdgeAppearance
| `- error: 'scrollEdgeAppearance' is unavailable in watchOS
114 | tabBarAlphaBackup = tabBar?.alpha
115 | toolbarHiddenBackup = navigationController.isToolbarHidden
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h:122:70: note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
120 | @property (nonatomic, readwrite, copy) UITabBarAppearance *standardAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
121 | /// Describes the appearance attributes for the tabBar to use when an observable scroll view is scrolled to the bottom. If not set, standardAppearance will be used instead.
122 | @property (nonatomic, readwrite, copy, nullable) UITabBarAppearance *scrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
123 |
124 | // A small view (200pt by 68pt) in the leading gutter next to tab bar to add accessories, such as logos, time, so on. If auto layout is used, it will be respected when placing subviews. If not, subviews will be places in respect to top left corner--meaning, frames of subviews will not be updated in any way.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:118:51: error: 'additionalSafeAreaInsets' is unavailable in watchOS
116 | toolbarAlphaBackup = toolbar.alpha
117 | toVCToolbarItemsBackup = toVC.toolbarItems
118 | toVCAdditionalSafeAreaInsetsBackup = toVC.additionalSafeAreaInsets
| `- error: 'additionalSafeAreaInsets' is unavailable in watchOS
119 |
120 | // MARK: Prepare for the transition
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:570:35: note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
568 | that UIViewController calculates for the safeAreaInsets for contained view controllers.
569 | */
570 | @property(nonatomic) UIEdgeInsets additionalSafeAreaInsets API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
571 |
572 | /* Minimum layoutMargins for the view determined by the view controller from context and hardware information.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:130:30: error: 'UITabBarAppearance' is unavailable in watchOS
128 | if let tabBar {
129 | // Make tabBar opaque during the transition
130 | let appearance = UITabBarAppearance()
| `- error: 'UITabBarAppearance' is unavailable in watchOS
131 | appearance.configureWithDefaultBackground()
132 | tabBar.scrollEdgeAppearance = appearance
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarAppearance.h:80:12: note: 'UITabBarAppearance' has been explicitly marked unavailable here
78 |
79 | UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
80 | @interface UITabBarAppearance : UIBarAppearance
| `- note: 'UITabBarAppearance' has been explicitly marked unavailable here
81 |
82 | /// The appearance for the stacked tab bar item layout
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:132:20: error: 'scrollEdgeAppearance' is unavailable in watchOS
130 | let appearance = UITabBarAppearance()
131 | appearance.configureWithDefaultBackground()
132 | tabBar.scrollEdgeAppearance = appearance
| `- error: 'scrollEdgeAppearance' is unavailable in watchOS
133 | }
134 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h:122:70: note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
120 | @property (nonatomic, readwrite, copy) UITabBarAppearance *standardAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
121 | /// Describes the appearance attributes for the tabBar to use when an observable scroll view is scrolled to the bottom. If not set, standardAppearance will be used instead.
122 | @property (nonatomic, readwrite, copy, nullable) UITabBarAppearance *scrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
123 |
124 | // A small view (200pt by 68pt) in the leading gutter next to tab bar to add accessories, such as logos, time, so on. If auto layout is used, it will be respected when placing subviews. If not, subviews will be places in respect to top left corner--meaning, frames of subviews will not be updated in any way.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:163:18: error: 'additionalSafeAreaInsets' is unavailable in watchOS
161 | To avoid this, adjust the safe area only during the transition.
162 | */
163 | toVC.additionalSafeAreaInsets.bottom = -toolbar.bounds.height
| `- error: 'additionalSafeAreaInsets' is unavailable in watchOS
164 | }
165 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:570:35: note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
568 | that UIViewController calculates for the safeAreaInsets for contained view controllers.
569 | */
570 | @property(nonatomic) UIEdgeInsets additionalSafeAreaInsets API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
571 |
572 | /* Minimum layoutMargins for the view determined by the view controller from context and hardware information.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerViewController.swift:110:30: error: 'UIToolbar' is unavailable in watchOS
108 | private let backgroundView = UIView()
109 |
110 | let pageControlToolbar = UIToolbar()
| `- error: 'UIToolbar' is unavailable in watchOS
111 | private let pageControlBar = MediaViewerPageControlBar()
112 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
| `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerViewController.swift:110:30: error: 'init()' is unavailable in watchOS
108 | private let backgroundView = UIView()
109 |
110 | let pageControlToolbar = UIToolbar()
| `- error: 'init()' is unavailable in watchOS
111 | private let pageControlBar = MediaViewerPageControlBar()
112 |
/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/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:204:20: error: 'UIViewPropertyAnimator' is unavailable in watchOS
202 | ? 0
203 | : mediaViewer.navigationBarAlphaBackup
204 | animator = UIViewPropertyAnimator(
| `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
205 | duration: 0.25,
206 | dampingRatio: 1
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:276:63: error: 'from' is unavailable in watchOS
274 | animator.continueAnimation(withTimingParameters: nil, durationFactor: 1)
275 |
276 | let mediaViewerView = transitionContext.view(forKey: .from)!
| `- error: 'from' is unavailable in watchOS
277 | let currentPageView = mediaViewerCurrentPageView(in: transitionContext)
278 | let currentPageImageView = currentPageView.imageView
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:26:47: note: 'from' has been explicitly marked unavailable here
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
| `- note: 'from' has been explicitly marked unavailable here
27 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextToViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(8.0));
28 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:280:17: error: 'scrollEdgeAppearance' is unavailable in watchOS
278 | let currentPageImageView = currentPageView.imageView
279 |
280 | tabBar?.scrollEdgeAppearance = tabBarScrollEdgeAppearanceBackup
| `- error: 'scrollEdgeAppearance' is unavailable in watchOS
281 |
282 | let finishAnimator = UIViewPropertyAnimator(duration: 0.35, dampingRatio: 1) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h:122:70: note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
120 | @property (nonatomic, readwrite, copy) UITabBarAppearance *standardAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
121 | /// Describes the appearance attributes for the tabBar to use when an observable scroll view is scrolled to the bottom. If not set, standardAppearance will be used instead.
122 | @property (nonatomic, readwrite, copy, nullable) UITabBarAppearance *scrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
123 |
124 | // A small view (200pt by 68pt) in the leading gutter next to tab bar to add accessories, such as logos, time, so on. If auto layout is used, it will be respected when placing subviews. If not, subviews will be places in respect to top left corner--meaning, frames of subviews will not be updated in any way.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:282:30: error: 'UIViewPropertyAnimator' is unavailable in watchOS
280 | tabBar?.scrollEdgeAppearance = tabBarScrollEdgeAppearanceBackup
281 |
282 | let finishAnimator = UIViewPropertyAnimator(duration: 0.35, dampingRatio: 1) {
| `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
283 | if let sourceView = self.sourceView {
284 | let sourceFrameInViewer = mediaViewerView.convert(
/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/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:300:69: error: 'from' is unavailable in watchOS
298 | }
299 |
300 | let mediaViewer = transitionContext.viewController(forKey: .from) as! MediaViewerViewController
| `- error: 'from' is unavailable in watchOS
301 | let toVC = transitionContext.viewController(forKey: .to)!
302 | let navigationController = toVC.navigationController!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:23:57: note: 'from' has been explicitly marked unavailable here
21 | // that are created by the system.
22 |
23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
| `- note: 'from' has been explicitly marked unavailable here
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
25 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:301:62: error: 'to' is unavailable in watchOS
299 |
300 | let mediaViewer = transitionContext.viewController(forKey: .from) as! MediaViewerViewController
301 | let toVC = transitionContext.viewController(forKey: .to)!
| `- error: 'to' is unavailable in watchOS
302 | let navigationController = toVC.navigationController!
303 | let navigationBar = navigationController.navigationBar
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:24:57: note: 'to' has been explicitly marked unavailable here
22 |
23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
| `- note: 'to' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:312:18: error: 'additionalSafeAreaInsets' is unavailable in watchOS
310 | self.sourceView?.isHidden = self.sourceViewHiddenBackup
311 | toVC.toolbarItems = self.toVCToolbarItemsBackup
312 | toVC.additionalSafeAreaInsets = self.toVCAdditionalSafeAreaInsetsBackup
| `- error: 'additionalSafeAreaInsets' is unavailable in watchOS
313 | navigationBar.alpha = mediaViewer.navigationBarAlphaBackup
314 | navigationController.isToolbarHidden = mediaViewer.toolbarHiddenBackup
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:570:35: note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
568 | that UIViewController calculates for the safeAreaInsets for contained view controllers.
569 | */
570 | @property(nonatomic) UIEdgeInsets additionalSafeAreaInsets API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
571 |
572 | /* Minimum layoutMargins for the view determined by the view controller from context and hardware information.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:316:21: error: 'scrollEdgeAppearance' is unavailable in watchOS
314 | navigationController.isToolbarHidden = mediaViewer.toolbarHiddenBackup
315 | toolbar.alpha = mediaViewer.toolbarAlphaBackup
316 | toolbar.scrollEdgeAppearance = mediaViewer.toolbarScrollEdgeAppearanceBackup
| `- error: 'scrollEdgeAppearance' is unavailable in watchOS
317 |
318 | /*
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbar.h:75:71: note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
73 | @property (nonatomic, readwrite, copy, nullable) UIToolbarAppearance *compactAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
74 | /// Describes the appearance attributes for the toolbar to use at standard height when an observable scroll view is scrolled to the bottom. If not set, standardAppearance will be used instead.
75 | @property (nonatomic, readwrite, copy, nullable) UIToolbarAppearance *scrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
76 | /// Describes the appearance attributes for the toolbar to use at compact height when an observable scroll view is scrolled to the bottom. If not set, will fall back to scrollEdgeAppearance followed by compactAppearance and finally standardAppearance.
77 | @property (nonatomic, readwrite, copy, nullable) UIToolbarAppearance *compactScrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:375:69: error: 'from' is unavailable in watchOS
373 | animator.continueAnimation(withTimingParameters: nil, durationFactor: 1)
374 |
375 | let mediaViewer = transitionContext.viewController(forKey: .from) as! MediaViewerViewController
| `- error: 'from' is unavailable in watchOS
376 | let currentPageView = mediaViewerCurrentPageView(in: transitionContext)
377 | let currentPageImageView = currentPageView.imageView
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:23:57: note: 'from' has been explicitly marked unavailable here
21 | // that are created by the system.
22 |
23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
| `- note: 'from' has been explicitly marked unavailable here
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
25 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:378:62: error: 'to' is unavailable in watchOS
376 | let currentPageView = mediaViewerCurrentPageView(in: transitionContext)
377 | let currentPageImageView = currentPageView.imageView
378 | let toVC = transitionContext.viewController(forKey: .to)!
| `- error: 'to' is unavailable in watchOS
379 |
380 | let cancelAnimator = UIViewPropertyAnimator(duration: 0.3, dampingRatio: 1) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:24:57: note: 'to' has been explicitly marked unavailable here
22 |
23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
| `- note: 'to' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:380:30: error: 'UIViewPropertyAnimator' is unavailable in watchOS
378 | let toVC = transitionContext.viewController(forKey: .to)!
379 |
380 | let cancelAnimator = UIViewPropertyAnimator(duration: 0.3, dampingRatio: 1) {
| `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
381 | // FIXME: toolbar items go away during animation
382 | currentPageImageView.frame = self.initialImageFrameInViewer
/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/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:399:26: error: 'scrollEdgeAppearance' is unavailable in watchOS
397 | currentPageView.restoreLayoutConfigurationAfterTransition()
398 |
399 | self.tabBar?.scrollEdgeAppearance = self.tabBarScrollEdgeAppearanceBackup
| `- error: 'scrollEdgeAppearance' is unavailable in watchOS
400 | if let tabBarAlphaBackup = self.tabBarAlphaBackup {
401 | self.tabBar?.alpha = tabBarAlphaBackup
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h:122:70: note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
120 | @property (nonatomic, readwrite, copy) UITabBarAppearance *standardAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
121 | /// Describes the appearance attributes for the tabBar to use when an observable scroll view is scrolled to the bottom. If not set, standardAppearance will be used instead.
122 | @property (nonatomic, readwrite, copy, nullable) UITabBarAppearance *scrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
123 |
124 | // A small view (200pt by 68pt) in the leading gutter next to tab bar to add accessories, such as logos, time, so on. If auto layout is used, it will be respected when placing subviews. If not, subviews will be places in respect to top left corner--meaning, frames of subviews will not be updated in any way.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:405:18: error: 'additionalSafeAreaInsets' is unavailable in watchOS
403 |
404 | // Restore properties
405 | toVC.additionalSafeAreaInsets = self.toVCAdditionalSafeAreaInsetsBackup
| `- error: 'additionalSafeAreaInsets' is unavailable in watchOS
406 | toVC.toolbarItems = self.toVCToolbarItemsBackup
407 | toolbar.scrollEdgeAppearance = mediaViewer.toolbarScrollEdgeAppearanceBackup
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:570:35: note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
568 | that UIViewController calculates for the safeAreaInsets for contained view controllers.
569 | */
570 | @property(nonatomic) UIEdgeInsets additionalSafeAreaInsets API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
571 |
572 | /* Minimum layoutMargins for the view determined by the view controller from context and hardware information.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift:407:21: error: 'scrollEdgeAppearance' is unavailable in watchOS
405 | toVC.additionalSafeAreaInsets = self.toVCAdditionalSafeAreaInsetsBackup
406 | toVC.toolbarItems = self.toVCToolbarItemsBackup
407 | toolbar.scrollEdgeAppearance = mediaViewer.toolbarScrollEdgeAppearanceBackup
| `- error: 'scrollEdgeAppearance' is unavailable in watchOS
408 | navigationController.isToolbarHidden = self.toolbarHiddenBackup
409 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbar.h:75:71: note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
73 | @property (nonatomic, readwrite, copy, nullable) UIToolbarAppearance *compactAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
74 | /// Describes the appearance attributes for the toolbar to use at standard height when an observable scroll view is scrolled to the bottom. If not set, standardAppearance will be used instead.
75 | @property (nonatomic, readwrite, copy, nullable) UIToolbarAppearance *scrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
76 | /// Describes the appearance attributes for the toolbar to use at compact height when an observable scroll view is scrolled to the bottom. If not set, will fall back to scrollEdgeAppearance followed by compactAppearance and finally standardAppearance.
77 | @property (nonatomic, readwrite, copy, nullable) UIToolbarAppearance *compactScrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/PageControlBarThumbnailCell.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PageControlBarThumbnailCell.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerInteractivePopTransition.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MediaViewerInteractivePopTransition.swift
SwiftCompile normal arm64_32 Compiling\ MediaViewerPageControlBar.swift,\ MediaViewerPageControlBarLayout.swift /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBarLayout.swift (in target 'MediaViewer' from project 'MediaViewer')
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:115:35: error: cannot specialize non-generic type 'UICollectionViewDiffableDataSource'
113 | }()
114 |
115 | lazy var diffableDataSource = UICollectionViewDiffableDataSource<Int, AnyMediaIdentifier>(
| `- error: cannot specialize non-generic type 'UICollectionViewDiffableDataSource'
116 | collectionView: collectionView
117 | ) { [weak self] collectionView, indexPath, mediaIdentifier in
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:39:41: error: 'UICollectionViewTransitionLayout' is unavailable in watchOS
37 |
38 | /// The state of interactively transitioning between pages.
39 | case transitioningInteractively(UICollectionViewTransitionLayout, forwards: Bool)
| `- error: 'UICollectionViewTransitionLayout' is unavailable in watchOS
40 |
41 | case reloading
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewTransitionLayout.h:15:12: note: 'UICollectionViewTransitionLayout' has been explicitly marked unavailable here
13 |
14 | UIKIT_EXTERN API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
15 | @interface UICollectionViewTransitionLayout : UICollectionViewLayout
| `- note: 'UICollectionViewTransitionLayout' has been explicitly marked unavailable here
16 |
17 | @property (assign, nonatomic) CGFloat transitionProgress;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:54:25: error: 'UICollectionViewTransitionLayout' is unavailable in watchOS
52 |
53 | /// A layout during interactive paging transition.
54 | case transition(UICollectionViewTransitionLayout)
| `- error: 'UICollectionViewTransitionLayout' is unavailable in watchOS
55 | }
56 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewTransitionLayout.h:15:12: note: 'UICollectionViewTransitionLayout' has been explicitly marked unavailable here
13 |
14 | UIKIT_EXTERN API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
15 | @interface UICollectionViewTransitionLayout : UICollectionViewLayout
| `- note: 'UICollectionViewTransitionLayout' has been explicitly marked unavailable here
16 |
17 | @property (assign, nonatomic) CGFloat transitionProgress;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:57:42: error: 'UICollectionView' is unavailable in watchOS
55 | }
56 |
57 | private typealias CellRegistration = UICollectionView.CellRegistration<
| `- error: 'UICollectionView' is unavailable in watchOS
58 | PageControlBarThumbnailCell,
59 | AnyMediaIdentifier
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
| `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:107:38: error: 'UICollectionView' is unavailable in watchOS
105 | }
106 |
107 | private lazy var collectionView: UICollectionView = {
| `- error: 'UICollectionView' is unavailable in watchOS
108 | let layout = MediaViewerPageControlBarLayout(style: .collapsed)
109 | let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
| `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:109:30: error: 'UICollectionView' is unavailable in watchOS
107 | private lazy var collectionView: UICollectionView = {
108 | let layout = MediaViewerPageControlBarLayout(style: .collapsed)
109 | let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
| `- error: 'UICollectionView' is unavailable in watchOS
110 | collectionView.backgroundColor = .clear
111 | collectionView.showsHorizontalScrollIndicator = false
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
| `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:25:40: error: 'UIView' is unavailable in watchOS
23 | }
24 |
25 | final class MediaViewerPageControlBar: UIView {
| `- error: 'UIView' is unavailable in watchOS
26 |
27 | enum State: Hashable, Sendable {
/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/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:531:43: error: 'UICollectionView' is unavailable in watchOS
529 | extension MediaViewerPageControlBar: UICollectionViewDelegate {
530 |
531 | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
| `- error: 'UICollectionView' is unavailable in watchOS
532 | collectionView.deselectItem(at: indexPath, animated: false)
533 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
| `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:547:52: error: 'UIScrollView' is unavailable in watchOS
545 | }
546 |
547 | func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
| `- error: 'UIScrollView' is unavailable in watchOS
548 | collapseItem()
549 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
85 |
86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
| `- note: 'UIScrollView' has been explicitly marked unavailable here
88 |
89 | @property(nonatomic) CGPoint contentOffset; // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:551:44: error: 'UIScrollView' is unavailable in watchOS
549 | }
550 |
551 | func scrollViewDidScroll(_ scrollView: UIScrollView) {
| `- error: 'UIScrollView' is unavailable in watchOS
552 | switch state {
553 | case .collapsed(let indexPathForFinalDestinationItem):
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
85 |
86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
| `- note: 'UIScrollView' has been explicitly marked unavailable here
88 |
89 | @property(nonatomic) CGPoint contentOffset; // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:586:23: error: 'UIScrollView' is unavailable in watchOS
584 |
585 | func scrollViewWillEndDragging(
586 | _ scrollView: UIScrollView,
| `- error: 'UIScrollView' is unavailable in watchOS
587 | withVelocity velocity: CGPoint,
588 | targetContentOffset: UnsafeMutablePointer<CGPoint>
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
85 |
86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
| `- note: 'UIScrollView' has been explicitly marked unavailable here
88 |
89 | @property(nonatomic) CGPoint contentOffset; // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:600:49: error: 'UIScrollView' is unavailable in watchOS
598 | }
599 |
600 | func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
| `- error: 'UIScrollView' is unavailable in watchOS
601 | /*
602 | When the finger is released with the finger stopped
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
85 |
86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
| `- note: 'UIScrollView' has been explicitly marked unavailable here
88 |
89 | @property(nonatomic) CGPoint contentOffset; // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:618:53: error: 'UIScrollView' is unavailable in watchOS
616 | }
617 |
618 | func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
| `- error: 'UIScrollView' is unavailable in watchOS
619 | switch state {
620 | case .collapsing, .collapsed, .reloading:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
85 |
86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
| `- note: 'UIScrollView' has been explicitly marked unavailable here
88 |
89 | @property(nonatomic) CGPoint contentOffset; // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:529:38: error: 'UICollectionViewDelegate' is unavailable in watchOS
527 | // MARK: - UICollectionViewDelegate -
528 |
529 | extension MediaViewerPageControlBar: UICollectionViewDelegate {
| `- error: 'UICollectionViewDelegate' is unavailable in watchOS
530 |
531 | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:114:11: note: 'UICollectionViewDelegate' has been explicitly marked unavailable here
112 |
113 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
114 | @protocol UICollectionViewDelegate <UIScrollViewDelegate>
| `- note: 'UICollectionViewDelegate' has been explicitly marked unavailable here
115 | @optional
116 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:98:38: error: 'UICollectionViewTransitionLayout' is unavailable in watchOS
96 | case let barLayout as MediaViewerPageControlBarLayout:
97 | return .normal(barLayout)
98 | case let transitionLayout as UICollectionViewTransitionLayout:
| `- error: 'UICollectionViewTransitionLayout' is unavailable in watchOS
99 | return .transition(transitionLayout)
100 | default:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewTransitionLayout.h:15:12: note: 'UICollectionViewTransitionLayout' has been explicitly marked unavailable here
13 |
14 | UIKIT_EXTERN API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
15 | @interface UICollectionViewTransitionLayout : UICollectionViewLayout
| `- note: 'UICollectionViewTransitionLayout' has been explicitly marked unavailable here
16 |
17 | @property (assign, nonatomic) CGFloat transitionProgress;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:98:38: error: 'UICollectionViewTransitionLayout' is unavailable in watchOS
96 | case let barLayout as MediaViewerPageControlBarLayout:
97 | return .normal(barLayout)
98 | case let transitionLayout as UICollectionViewTransitionLayout:
| `- error: 'UICollectionViewTransitionLayout' is unavailable in watchOS
99 | return .transition(transitionLayout)
100 | default:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewTransitionLayout.h:15:12: note: 'UICollectionViewTransitionLayout' has been explicitly marked unavailable here
13 |
14 | UIKIT_EXTERN API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
15 | @interface UICollectionViewTransitionLayout : UICollectionViewLayout
| `- note: 'UICollectionViewTransitionLayout' has been explicitly marked unavailable here
16 |
17 | @property (assign, nonatomic) CGFloat transitionProgress;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:163:9: error: 'NSLayoutConstraint' is unavailable in watchOS
161 | // Layout
162 | collectionView.translatesAutoresizingMaskIntoConstraints = false
163 | NSLayoutConstraint.activate([
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
164 | collectionView.topAnchor.constraint(equalTo: topAnchor),
165 | collectionView.leadingAnchor.constraint(equalTo: leadingAnchor),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
| `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string. The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:202:24: error: cannot specialize non-generic type 'NSDiffableDataSourceSnapshot'
200 | currentIdentifier: AnyMediaIdentifier
201 | ) async {
202 | var snapshot = NSDiffableDataSourceSnapshot<Int, AnyMediaIdentifier>()
| `- error: cannot specialize non-generic type 'NSDiffableDataSourceSnapshot'
203 | snapshot.appendSections([0])
204 | snapshot.appendItems(mediaIdentifiers)
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:226:24: error: cannot specialize non-generic type 'NSDiffableDataSourceSnapshot'
224 | animated: Bool
225 | ) async {
226 | var snapshot = NSDiffableDataSourceSnapshot<Int, AnyMediaIdentifier>()
| `- error: cannot specialize non-generic type 'NSDiffableDataSourceSnapshot'
227 | snapshot.appendSections([0])
228 | snapshot.appendItems(identifiers)
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:343:13: error: 'UIViewPropertyAnimator' is unavailable in watchOS
341 | }
342 | if animated {
343 | UIViewPropertyAnimator(duration: duration, dampingRatio: 1) {
| `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
344 | expandAndScroll()
345 | }.startAnimation()
/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/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:413:9: error: 'UIViewPropertyAnimator' is unavailable in watchOS
411 | barLayout.style.indexPathForExpandingItem != nil else { return }
412 | state = .collapsing
413 | UIViewPropertyAnimator(duration: 0.5, dampingRatio: 1) {
| `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
414 | self.updateLayout(expandingItemAt: nil, animated: false)
415 | self.state = .collapsed(indexPathForFinalDestinationItem: nil)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:491:32: error: 'UICollectionViewTransitionLayout' is unavailable in watchOS
489 | until (completion is called and) the next transition can be started.
490 | */
491 | let transitionLayout = UICollectionViewTransitionLayout(
| `- error: 'UICollectionViewTransitionLayout' is unavailable in watchOS
492 | currentLayout: barLayout,
493 | nextLayout: newLayout
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewTransitionLayout.h:15:12: note: 'UICollectionViewTransitionLayout' has been explicitly marked unavailable here
13 |
14 | UIKIT_EXTERN API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
15 | @interface UICollectionViewTransitionLayout : UICollectionViewLayout
| `- note: 'UICollectionViewTransitionLayout' has been explicitly marked unavailable here
16 |
17 | @property (assign, nonatomic) CGFloat transitionProgress;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift:591:63: error: 'adjustedContentInset' is unavailable in watchOS
589 | ) {
590 | let targetPoint = CGPoint(
591 | x: targetContentOffset.pointee.x + collectionView.adjustedContentInset.left,
| `- error: 'adjustedContentInset' is unavailable in watchOS
592 | y: 0
593 | )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:101:45: note: 'adjustedContentInset' has been explicitly marked unavailable here
99 | its safeAreaInsets into the adjustedContentInset.
100 | */
101 | @property(nonatomic, readonly) UIEdgeInsets adjustedContentInset API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'adjustedContentInset' has been explicitly marked unavailable here
102 |
103 | /* Also see -scrollViewDidChangeAdjustedContentInset: in the UIScrollViewDelegate protocol.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBarLayout.swift:34:51: error: 'UICollectionViewLayoutAttributes' is unavailable in watchOS
32 | }
33 |
34 | private var attributesDictionary: [IndexPath: UICollectionViewLayoutAttributes] = [:]
| `- error: 'UICollectionViewLayoutAttributes' is unavailable in watchOS
35 | private var contentSize: CGSize = .zero
36 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h:43:12: note: 'UICollectionViewLayoutAttributes' has been explicitly marked unavailable here
41 |
42 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
43 | @interface UICollectionViewLayoutAttributes : NSObject <NSCopying, UIDynamicItem>
| `- note: 'UICollectionViewLayoutAttributes' has been explicitly marked unavailable here
44 |
45 | @property (nonatomic) CGRect frame;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBarLayout.swift:78:50: error: 'UICollectionViewLayoutInvalidationContext' is unavailable in watchOS
76 | }
77 |
78 | override func invalidateLayout(with context: UICollectionViewLayoutInvalidationContext) {
| `- error: 'UICollectionViewLayoutInvalidationContext' is unavailable in watchOS
79 | if context.invalidateEverything || context.invalidateDataSourceCounts {
80 | isLayoutCacheInvalidated = 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/UICollectionViewLayout.h:66:12: note: 'UICollectionViewLayoutInvalidationContext' has been explicitly marked unavailable here
64 |
65 | UIKIT_EXTERN API_AVAILABLE(ios(7.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
66 | @interface UICollectionViewLayoutInvalidationContext : NSObject
| `- note: 'UICollectionViewLayoutInvalidationContext' has been explicitly marked unavailable here
67 |
68 | @property (nonatomic, readonly) BOOL invalidateEverything; // set to YES when invalidation occurs because the collection view is sent -reloadData
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBarLayout.swift:163:56: error: 'UICollectionView' is unavailable in watchOS
161 | }
162 |
163 | private func expandingItemWidth(in collectionView: UICollectionView) -> CGFloat {
| `- error: 'UICollectionView' is unavailable in watchOS
164 | let expandingThumbnailWidthToHeight: CGFloat
165 | switch style {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h:362:12: note: 'UICollectionView' has been explicitly marked unavailable here
360 |
361 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
362 | @interface UICollectionView : UIScrollView <UIDataSourceTranslating>
| `- note: 'UICollectionView' has been explicitly marked unavailable here
363 |
364 | - (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBarLayout.swift:195:68: error: 'UICollectionViewLayoutAttributes' is unavailable in watchOS
193 | }
194 |
195 | override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
| `- error: 'UICollectionViewLayoutAttributes' is unavailable in watchOS
196 | attributesDictionary.values.filter { $0.frame.intersects(rect) }
197 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h:43:12: note: 'UICollectionViewLayoutAttributes' has been explicitly marked unavailable here
41 |
42 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
43 | @interface UICollectionViewLayoutAttributes : NSObject <NSCopying, UIDynamicItem>
| `- note: 'UICollectionViewLayoutAttributes' has been explicitly marked unavailable here
44 |
45 | @property (nonatomic) CGRect frame;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBarLayout.swift:199:71: error: 'UICollectionViewLayoutAttributes' is unavailable in watchOS
197 | }
198 |
199 | override func layoutAttributesForItem(at indexPath: IndexPath) -> UICollectionViewLayoutAttributes? {
| `- error: 'UICollectionViewLayoutAttributes' is unavailable in watchOS
200 | attributesDictionary[indexPath]
201 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h:43:12: note: 'UICollectionViewLayoutAttributes' has been explicitly marked unavailable here
41 |
42 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
43 | @interface UICollectionViewLayoutAttributes : NSObject <NSCopying, UIDynamicItem>
| `- note: 'UICollectionViewLayoutAttributes' has been explicitly marked unavailable here
44 |
45 | @property (nonatomic) CGRect frame;
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBarLayout.swift:10:46: error: 'UICollectionViewLayout' is unavailable in watchOS
8 | import UIKit
9 |
10 | final class MediaViewerPageControlBarLayout: UICollectionViewLayout {
| `- error: 'UICollectionViewLayout' is unavailable in watchOS
11 |
12 | enum Style {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UICollectionViewLayout.h:89:12: note: 'UICollectionViewLayout' has been explicitly marked unavailable here
87 |
88 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
89 | @interface UICollectionViewLayout : NSObject <NSCoding>
| `- note: 'UICollectionViewLayout' has been explicitly marked unavailable here
90 |
91 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBar.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MediaViewerPageControlBar.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/PageControlBar/MediaViewerPageControlBarLayout.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MediaViewerPageControlBarLayout.swift
SwiftCompile normal arm64_32 Compiling\ MediaViewerTransition.swift,\ UIViewTransitioningConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/UIViewTransitioningConfiguration.swift (in target 'MediaViewer' from project 'MediaViewer')
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:13:28: error: 'UINavigationController' is unavailable in watchOS
11 | final class MediaViewerTransition: NSObject, UIViewControllerAnimatedTransitioning {
12 |
13 | private let operation: UINavigationController.Operation
| `- error: 'UINavigationController' is unavailable in watchOS
14 | private let sourceView: UIView?
15 | private let sourceImage: () -> UIImage?
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UINavigationController : UIViewController
| `- note: 'UINavigationController' has been explicitly marked unavailable here
47 |
48 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:14:29: error: 'UIView' is unavailable in watchOS
12 |
13 | private let operation: UINavigationController.Operation
14 | private let sourceView: UIView?
| `- error: 'UIView' is unavailable in watchOS
15 | private let sourceImage: () -> UIImage?
16 |
/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/MediaViewer/Transitions/MediaViewerTransition.swift:20:20: error: 'UINavigationController' is unavailable in watchOS
18 |
19 | init(
20 | operation: UINavigationController.Operation,
| `- error: 'UINavigationController' is unavailable in watchOS
21 | sourceView: UIView?,
22 | sourceImage: @escaping () -> UIImage?
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UINavigationController : UIViewController
| `- note: 'UINavigationController' has been explicitly marked unavailable here
47 |
48 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:21:21: error: 'UIView' is unavailable in watchOS
19 | init(
20 | operation: UINavigationController.Operation,
21 | sourceView: UIView?,
| `- error: 'UIView' is unavailable in watchOS
22 | sourceImage: @escaping () -> UIImage?
23 | ) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MediaViewer/Transitions/MediaViewerTransition.swift:32:39: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
30 |
31 | func transitionDuration(
32 | using transitionContext: (any UIViewControllerContextTransitioning)?
| `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
33 | ) -> TimeInterval {
34 | switch operation {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
66 |
67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
68 | @protocol UIViewControllerContextTransitioning <NSObject>
| `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:47:38: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
45 |
46 | func animateTransition(
47 | using transitionContext: any UIViewControllerContextTransitioning
| `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
48 | ) {
49 | switch operation {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
66 |
67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
68 | @protocol UIViewControllerContextTransitioning <NSObject>
| `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:62:39: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
60 |
61 | private func animatePushTransition(
62 | using transitionContext: some UIViewControllerContextTransitioning
| `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
63 | ) {
64 | guard let mediaViewer = transitionContext.viewController(forKey: .to) as? MediaViewerViewController,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
66 |
67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
68 | @protocol UIViewControllerContextTransitioning <NSObject>
| `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:62:39: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
60 |
61 | private func animatePushTransition(
62 | using transitionContext: some UIViewControllerContextTransitioning
| `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
63 | ) {
64 | guard let mediaViewer = transitionContext.viewController(forKey: .to) as? MediaViewerViewController,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
66 |
67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
68 | @protocol UIViewControllerContextTransitioning <NSObject>
| `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:236:39: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
234 |
235 | private func animatePopTransition(
236 | using transitionContext: some UIViewControllerContextTransitioning
| `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
237 | ) {
238 | guard let mediaViewer = transitionContext.viewController(forKey: .from) as? MediaViewerViewController,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
66 |
67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
68 | @protocol UIViewControllerContextTransitioning <NSObject>
| `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:236:39: error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
234 |
235 | private func animatePopTransition(
236 | using transitionContext: some UIViewControllerContextTransitioning
| `- error: 'UIViewControllerContextTransitioning' is unavailable in watchOS
237 | ) {
238 | guard let mediaViewer = transitionContext.viewController(forKey: .from) as? MediaViewerViewController,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:68:11: note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
66 |
67 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
68 | @protocol UIViewControllerContextTransitioning <NSObject>
| `- note: 'UIViewControllerContextTransitioning' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:11:46: error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
9 |
10 | @MainActor
11 | final class MediaViewerTransition: NSObject, UIViewControllerAnimatedTransitioning {
| `- error: 'UIViewControllerAnimatedTransitioning' is unavailable in watchOS
12 |
13 | private let operation: UINavigationController.Operation
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:137:11: note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
135 |
136 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
137 | @protocol UIViewControllerAnimatedTransitioning <NSObject>
| `- note: 'UIViewControllerAnimatedTransitioning' has been explicitly marked unavailable here
138 |
139 | // This is used for percent driven interactive transitions, as well as for
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:64:75: error: 'to' is unavailable in watchOS
62 | using transitionContext: some UIViewControllerContextTransitioning
63 | ) {
64 | guard let mediaViewer = transitionContext.viewController(forKey: .to) as? MediaViewerViewController,
| `- error: 'to' is unavailable in watchOS
65 | let mediaViewerView = transitionContext.view(forKey: .to),
66 | let navigationController = mediaViewer.navigationController
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:24:57: note: 'to' has been explicitly marked unavailable here
22 |
23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
| `- note: 'to' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:65:69: error: 'to' is unavailable in watchOS
63 | ) {
64 | guard let mediaViewer = transitionContext.viewController(forKey: .to) as? MediaViewerViewController,
65 | let mediaViewerView = transitionContext.view(forKey: .to),
| `- error: 'to' is unavailable in watchOS
66 | let navigationController = mediaViewer.navigationController
67 | else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:27:47: note: 'to' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
27 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextToViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(8.0));
| `- note: 'to' has been explicitly marked unavailable here
28 |
29 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:72:47: error: 'containerView' is unavailable in watchOS
70 | )
71 | }
72 | let containerView = transitionContext.containerView
| `- error: 'containerView' is unavailable in watchOS
73 | containerView.addSubview(mediaViewerView)
74 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:71:40: note: 'containerView' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
71 | @property(nonatomic, readonly) UIView *containerView API_UNAVAILABLE(watchos);
| `- note: 'containerView' has been explicitly marked unavailable here
72 |
73 | // Most of the time this is YES. For custom transitions that use the new UIModalPresentationCustom
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:82:56: error: 'scrollEdgeAppearance' is unavailable in watchOS
80 | let tabBarSuperviewBackup = tabBar?.superview
81 | let tabBarHiddenBackup = tabBar?.isHidden
82 | let tabBarScrollEdgeAppearanceBackup = tabBar?.scrollEdgeAppearance
| `- error: 'scrollEdgeAppearance' is unavailable in watchOS
83 | let navigationBarAlphaBackup = navigationBar.alpha
84 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h:122:70: note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
120 | @property (nonatomic, readwrite, copy) UITabBarAppearance *standardAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
121 | /// Describes the appearance attributes for the tabBar to use when an observable scroll view is scrolled to the bottom. If not set, standardAppearance will be used instead.
122 | @property (nonatomic, readwrite, copy, nullable) UITabBarAppearance *scrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
123 |
124 | // A small view (200pt by 68pt) in the leading gutter next to tab bar to add accessories, such as logos, time, so on. If auto layout is used, it will be respected when placing subviews. If not, subviews will be places in respect to top left corner--meaning, frames of subviews will not be updated in any way.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageViewController.swift:25:34: error: 'init()' is unavailable in watchOS
23 | weak var delegate: (any MediaViewerOnePageViewControllerDelegate)?
24 |
25 | let mediaViewerOnePageView = MediaViewerOnePageView()
| `- error: 'init()' is unavailable in watchOS
26 |
27 | let singleTapRecognizer = UITapGestureRecognizer()
/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/MediaViewer/Transitions/MediaViewerTransition.swift:136:30: error: 'UITabBarAppearance' is unavailable in watchOS
134 |
135 | // Make the tabBar opaque during the transition
136 | let appearance = UITabBarAppearance()
| `- error: 'UITabBarAppearance' is unavailable in watchOS
137 | appearance.configureWithDefaultBackground()
138 | tabBar.scrollEdgeAppearance = appearance
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarAppearance.h:80:12: note: 'UITabBarAppearance' has been explicitly marked unavailable here
78 |
79 | UIKIT_EXTERN API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
80 | @interface UITabBarAppearance : UIBarAppearance
| `- note: 'UITabBarAppearance' has been explicitly marked unavailable here
81 |
82 | /// The appearance for the stacked tab bar item layout
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:138:20: error: 'scrollEdgeAppearance' is unavailable in watchOS
136 | let appearance = UITabBarAppearance()
137 | appearance.configureWithDefaultBackground()
138 | tabBar.scrollEdgeAppearance = appearance
| `- error: 'scrollEdgeAppearance' is unavailable in watchOS
139 |
140 | // Disable the default animation applied to the tabBar
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h:122:70: note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
120 | @property (nonatomic, readwrite, copy) UITabBarAppearance *standardAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
121 | /// Describes the appearance attributes for the tabBar to use when an observable scroll view is scrolled to the bottom. If not set, standardAppearance will be used instead.
122 | @property (nonatomic, readwrite, copy, nullable) UITabBarAppearance *scrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
123 |
124 | // A small view (200pt by 68pt) in the leading gutter next to tab bar to add accessories, such as logos, time, so on. If auto layout is used, it will be respected when placing subviews. If not, subviews will be places in respect to top left corner--meaning, frames of subviews will not be updated in any way.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerViewController.swift:110:30: error: 'UIToolbar' is unavailable in watchOS
108 | private let backgroundView = UIView()
109 |
110 | let pageControlToolbar = UIToolbar()
| `- error: 'UIToolbar' is unavailable in watchOS
111 | private let pageControlBar = MediaViewerPageControlBar()
112 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
| `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerViewController.swift:110:30: error: 'init()' is unavailable in watchOS
108 | private let backgroundView = UIView()
109 |
110 | let pageControlToolbar = UIToolbar()
| `- error: 'init()' is unavailable in watchOS
111 | private let pageControlBar = MediaViewerPageControlBar()
112 |
/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/MediaViewer/Transitions/MediaViewerTransition.swift:180:9: error: 'UIViewPropertyAnimator' is unavailable in watchOS
178 |
179 | // NOTE: Animate only pageControlToolbar with easeInOut curve.
180 | UIViewPropertyAnimator(duration: 0.25, curve: .easeInOut) {
| `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
181 | mediaViewerView.layoutIfNeeded()
182 | }.startAnimation()
/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/MediaViewer/Transitions/MediaViewerTransition.swift:185:24: error: 'UIViewPropertyAnimator' is unavailable in watchOS
183 |
184 | let duration = transitionDuration(using: transitionContext)
185 | let animator = UIViewPropertyAnimator(duration: duration, dampingRatio: 0.7) {
| `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
186 | navigationBar.alpha = navigationBarAlphaBackup
187 | for view in viewsToFadeInDuringTransition {
/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/MediaViewer/Transitions/MediaViewerTransition.swift:223:28: error: 'scrollEdgeAppearance' is unavailable in watchOS
221 | if #unavailable(iOS 26), let tabBar {
222 | tabBar.isHidden = tabBarHiddenBackup!
223 | tabBar.scrollEdgeAppearance = tabBarScrollEdgeAppearanceBackup
| `- error: 'scrollEdgeAppearance' is unavailable in watchOS
224 | tabBarSuperviewBackup?.addSubview(tabBar)
225 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h:122:70: note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
120 | @property (nonatomic, readwrite, copy) UITabBarAppearance *standardAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
121 | /// Describes the appearance attributes for the tabBar to use when an observable scroll view is scrolled to the bottom. If not set, standardAppearance will be used instead.
122 | @property (nonatomic, readwrite, copy, nullable) UITabBarAppearance *scrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
| `- note: 'scrollEdgeAppearance' has been explicitly marked unavailable here
123 |
124 | // A small view (200pt by 68pt) in the leading gutter next to tab bar to add accessories, such as logos, time, so on. If auto layout is used, it will be respected when placing subviews. If not, subviews will be places in respect to top left corner--meaning, frames of subviews will not be updated in any way.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:238:75: error: 'from' is unavailable in watchOS
236 | using transitionContext: some UIViewControllerContextTransitioning
237 | ) {
238 | guard let mediaViewer = transitionContext.viewController(forKey: .from) as? MediaViewerViewController,
| `- error: 'from' is unavailable in watchOS
239 | let mediaViewerView = transitionContext.view(forKey: .from),
240 | let toView = transitionContext.view(forKey: .to),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:23:57: note: 'from' has been explicitly marked unavailable here
21 | // that are created by the system.
22 |
23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
| `- note: 'from' has been explicitly marked unavailable here
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
25 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:239:69: error: 'from' is unavailable in watchOS
237 | ) {
238 | guard let mediaViewer = transitionContext.viewController(forKey: .from) as? MediaViewerViewController,
239 | let mediaViewerView = transitionContext.view(forKey: .from),
| `- error: 'from' is unavailable in watchOS
240 | let toView = transitionContext.view(forKey: .to),
241 | let toVC = transitionContext.viewController(forKey: .to),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:26:47: note: 'from' has been explicitly marked unavailable here
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
| `- note: 'from' has been explicitly marked unavailable here
27 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextToViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(8.0));
28 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:240:60: error: 'to' is unavailable in watchOS
238 | guard let mediaViewer = transitionContext.viewController(forKey: .from) as? MediaViewerViewController,
239 | let mediaViewerView = transitionContext.view(forKey: .from),
240 | let toView = transitionContext.view(forKey: .to),
| `- error: 'to' is unavailable in watchOS
241 | let toVC = transitionContext.viewController(forKey: .to),
242 | let navigationController = mediaViewer.navigationController
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:27:47: note: 'to' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
27 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextToViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(8.0));
| `- note: 'to' has been explicitly marked unavailable here
28 |
29 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:241:68: error: 'to' is unavailable in watchOS
239 | let mediaViewerView = transitionContext.view(forKey: .from),
240 | let toView = transitionContext.view(forKey: .to),
241 | let toVC = transitionContext.viewController(forKey: .to),
| `- error: 'to' is unavailable in watchOS
242 | let navigationController = mediaViewer.navigationController
243 | else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:24:57: note: 'to' has been explicitly marked unavailable here
22 |
23 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextFromViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(7.0));
24 | UIKIT_EXTERN UITransitionContextViewControllerKey const UITransitionContextToViewControllerKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(to) API_AVAILABLE(ios(7.0));
| `- note: 'to' has been explicitly marked unavailable here
25 |
26 | UIKIT_EXTERN UITransitionContextViewKey const UITransitionContextFromViewKey API_UNAVAILABLE(watchos) NS_SWIFT_NAME(from) API_AVAILABLE(ios(8.0));
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:248:47: error: 'containerView' is unavailable in watchOS
246 | )
247 | }
248 | let containerView = transitionContext.containerView
| `- error: 'containerView' is unavailable in watchOS
249 | containerView.addSubview(toView)
250 | containerView.addSubview(mediaViewerView)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitioning.h:71:40: note: 'containerView' has been explicitly marked unavailable here
69 |
70 | // The view in which the animated transition should take place.
71 | @property(nonatomic, readonly) UIView *containerView API_UNAVAILABLE(watchos);
| `- note: 'containerView' has been explicitly marked unavailable here
72 |
73 | // Most of the time this is YES. For custom transitions that use the new UIModalPresentationCustom
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:255:55: error: 'additionalSafeAreaInsets' is unavailable in watchOS
253 | let sourceViewHiddenBackup = sourceView?.isHidden ?? false
254 | let toVCToolbarItemsBackup = toVC.toolbarItems
255 | let toVCAdditionalSafeAreaInsetsBackup = toVC.additionalSafeAreaInsets
| `- error: 'additionalSafeAreaInsets' is unavailable in watchOS
256 |
257 | // MARK: Prepare for the transition
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:570:35: note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
568 | that UIViewController calculates for the safeAreaInsets for contained view controllers.
569 | */
570 | @property(nonatomic) UIEdgeInsets additionalSafeAreaInsets API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
571 |
572 | /* Minimum layoutMargins for the view determined by the view controller from context and hardware information.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:275:18: error: 'additionalSafeAreaInsets' is unavailable in watchOS
273 | */
274 | if mediaViewer.toolbarHiddenBackup {
275 | toVC.additionalSafeAreaInsets.bottom = -toolbar.bounds.height
| `- error: 'additionalSafeAreaInsets' is unavailable in watchOS
276 | }
277 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:570:35: note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
568 | that UIViewController calculates for the safeAreaInsets for contained view controllers.
569 | */
570 | @property(nonatomic) UIEdgeInsets additionalSafeAreaInsets API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
571 |
572 | /* Minimum layoutMargins for the view determined by the view controller from context and hardware information.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift:313:9: error: 'UIViewPropertyAnimator' is unavailable in watchOS
311 |
312 | // NOTE: Animate only pageControlToolbar with easeInOut curve.
313 | UIViewPropertyAnimator(duration: 0.25, curve: .easeInOut) {
| `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
314 | mediaViewerView.layoutIfNeeded()
315 | }.startAnimation()
/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/MediaViewer/Transitions/MediaViewerTransition.swift:318:24: error: 'UIViewPropertyAnimator' is unavailable in watchOS
316 |
317 | let duration = transitionDuration(using: transitionContext)
318 | let animator = UIViewPropertyAnimator(duration: duration, dampingRatio: 1) {
| `- error: 'UIViewPropertyAnimator' is unavailable in watchOS
319 | for view in viewsToFadeOutDuringTransition {
320 | view.alpha = 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/MediaViewer/Transitions/MediaViewerTransition.swift:380:22: error: 'additionalSafeAreaInsets' is unavailable in watchOS
378 | self.sourceView?.isHidden = sourceViewHiddenBackup
379 | toVC.toolbarItems = toVCToolbarItemsBackup
380 | toVC.additionalSafeAreaInsets = toVCAdditionalSafeAreaInsetsBackup
| `- error: 'additionalSafeAreaInsets' is unavailable in watchOS
381 | navigationController.isToolbarHidden = mediaViewer.toolbarHiddenBackup
382 | toolbar.alpha = mediaViewer.toolbarAlphaBackup
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:570:35: note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
568 | that UIViewController calculates for the safeAreaInsets for contained view controllers.
569 | */
570 | @property(nonatomic) UIEdgeInsets additionalSafeAreaInsets API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'additionalSafeAreaInsets' has been explicitly marked unavailable here
571 |
572 | /* Minimum layoutMargins for the view determined by the view controller from context and hardware information.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/UIViewTransitioningConfiguration.swift:15:22: error: 'UIView' is unavailable in watchOS
13 | var backgroundColor: UIColor?
14 | var tintColor: UIColor?
15 | var contentMode: UIView.ContentMode
| `- error: 'UIView' is unavailable in watchOS
16 | var cornerRadius: CGFloat
17 | var borderColor: CGColor?
/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_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/MediaViewerTransition.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MediaViewerTransition.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Transitions/UIViewTransitioningConfiguration.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile UIViewTransitioningConfiguration.swift
SwiftCompile normal arm64_32 Compiling\ MediaViewerOnePageView.swift,\ MediaViewerOnePageViewController.swift /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageViewController.swift (in target 'MediaViewer' from project 'MediaViewer')
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:30:21: error: 'UIScrollView' is unavailable in watchOS
28 | weak var delegate: (any MediaViewerOnePageViewDelegate)?
29 |
30 | let scrollView: UIScrollView = {
| `- error: 'UIScrollView' is unavailable in watchOS
31 | let scrollView = UIScrollView()
32 | scrollView.contentInsetAdjustmentBehavior = .never
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
85 |
86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
| `- note: 'UIScrollView' has been explicitly marked unavailable here
88 |
89 | @property(nonatomic) CGPoint contentOffset; // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:31:26: error: 'UIScrollView' is unavailable in watchOS
29 |
30 | let scrollView: UIScrollView = {
31 | let scrollView = UIScrollView()
| `- error: 'UIScrollView' is unavailable in watchOS
32 | scrollView.contentInsetAdjustmentBehavior = .never
33 | scrollView.decelerationRate = .fast
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
85 |
86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
| `- note: 'UIScrollView' has been explicitly marked unavailable here
88 |
89 | @property(nonatomic) CGPoint contentOffset; // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:31:26: error: 'init()' is unavailable in watchOS
29 |
30 | let scrollView: UIScrollView = {
31 | let scrollView = UIScrollView()
| `- error: 'init()' is unavailable in watchOS
32 | scrollView.contentInsetAdjustmentBehavior = .never
33 | scrollView.decelerationRate = .fast
/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/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:32:20: error: 'contentInsetAdjustmentBehavior' is unavailable in watchOS
30 | let scrollView: UIScrollView = {
31 | let scrollView = UIScrollView()
32 | scrollView.contentInsetAdjustmentBehavior = .never
| `- error: 'contentInsetAdjustmentBehavior' is unavailable in watchOS
33 | scrollView.decelerationRate = .fast
34 | scrollView.minimumZoomScale = 1
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:110:65: note: 'contentInsetAdjustmentBehavior' has been explicitly marked unavailable here
108 | Default is UIScrollViewContentInsetAdjustmentAutomatic.
109 | */
110 | @property(nonatomic) UIScrollViewContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'contentInsetAdjustmentBehavior' has been explicitly marked unavailable here
111 |
112 | /* Configures whether the scroll indicator insets are automatically adjusted by the system.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:33:40: error: 'fast' is unavailable in watchOS
31 | let scrollView = UIScrollView()
32 | scrollView.contentInsetAdjustmentBehavior = .never
33 | scrollView.decelerationRate = .fast
| `- error: 'fast' is unavailable in watchOS
34 | scrollView.minimumZoomScale = 1
35 | scrollView.maximumZoomScale = 50
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:47:49: note: 'fast' has been explicitly marked unavailable here
45 |
46 | UIKIT_EXTERN const UIScrollViewDecelerationRate UIScrollViewDecelerationRateNormal API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
47 | UIKIT_EXTERN const UIScrollViewDecelerationRate UIScrollViewDecelerationRateFast API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
| `- note: 'fast' has been explicitly marked unavailable here
48 |
49 | /// Styles for a scroll view's edge effect.
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:41:20: error: 'UIImageView' is unavailable in watchOS
39 | }()
40 |
41 | let imageView: UIImageView = {
| `- error: 'UIImageView' is unavailable in watchOS
42 | let imageView = UIImageView()
43 | imageView.isUserInteractionEnabled = 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/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/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:42:25: error: 'UIImageView' is unavailable in watchOS
40 |
41 | let imageView: UIImageView = {
42 | let imageView = UIImageView()
| `- error: 'UIImageView' is unavailable in watchOS
43 | imageView.isUserInteractionEnabled = true
44 | imageView.contentMode = .scaleAspectFit
/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/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:42:25: error: 'init()' is unavailable in watchOS
40 |
41 | let imageView: UIImageView = {
42 | let imageView = UIImageView()
| `- error: 'init()' is unavailable in watchOS
43 | imageView.isUserInteractionEnabled = true
44 | imageView.contentMode = .scaleAspectFit
/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/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:49:47: error: 'NSLayoutConstraint' is unavailable in watchOS
47 |
48 | private var layoutState: LayoutState = .notYet
49 | private var constraintsBasedOnImageSize: [NSLayoutConstraint] = []
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
50 |
51 | // MARK: - Initializers
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
| `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string. The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:128:71: error: 'UITapGestureRecognizer' is unavailable in watchOS
126 | }
127 |
128 | func updateZoomScaleOnDoubleTap(recognizedBy doubleTapRecognizer: UITapGestureRecognizer) {
| `- error: 'UITapGestureRecognizer' is unavailable in watchOS
129 | if scrollView.zoomScale == 1 {
130 | let location = doubleTapRecognizer.location(in: imageView)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITapGestureRecognizer.h:23:12: note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
23 | @interface UITapGestureRecognizer : UIGestureRecognizer
| `- note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
24 |
25 | @property (nonatomic) NSUInteger numberOfTapsRequired; // Default is 1. The number of taps required to match
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:15:37: error: 'UIView' is unavailable in watchOS
13 | }
14 |
15 | final class MediaViewerOnePageView: UIView {
| `- error: 'UIView' is unavailable in watchOS
16 |
17 | private enum LayoutState {
/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/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:247:40: error: 'UIScrollView' is unavailable in watchOS
245 | extension MediaViewerOnePageView: UIScrollViewDelegate {
246 |
247 | func viewForZooming(in scrollView: UIScrollView) -> UIView? {
| `- error: 'UIScrollView' is unavailable in watchOS
248 | imageView
249 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
85 |
86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
| `- note: 'UIScrollView' has been explicitly marked unavailable here
88 |
89 | @property(nonatomic) CGPoint contentOffset; // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:247:57: error: 'UIView' is unavailable in watchOS
245 | extension MediaViewerOnePageView: UIScrollViewDelegate {
246 |
247 | func viewForZooming(in scrollView: UIScrollView) -> UIView? {
| `- error: 'UIView' is unavailable in watchOS
248 | imageView
249 | }
/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/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:251:42: error: 'UIScrollView' is unavailable in watchOS
249 | }
250 |
251 | func scrollViewDidZoom(_ scrollView: UIScrollView) {
| `- error: 'UIScrollView' is unavailable in watchOS
252 | adjustContentInset()
253 | delegate?.mediaViewerOnePageViewDidZoom(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/UIScrollView.h:87:12: note: 'UIScrollView' has been explicitly marked unavailable here
85 |
86 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
87 | @interface UIScrollView : UIView <NSCoding, UIFocusItemScrollableContainer>
| `- note: 'UIScrollView' has been explicitly marked unavailable here
88 |
89 | @property(nonatomic) CGPoint contentOffset; // default CGPointZero
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:245:35: error: 'UIScrollViewDelegate' is unavailable in watchOS
243 | }
244 |
245 | extension MediaViewerOnePageView: UIScrollViewDelegate {
| `- error: 'UIScrollViewDelegate' is unavailable in watchOS
246 |
247 | func viewForZooming(in scrollView: UIScrollView) -> UIView? {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:312:11: note: 'UIScrollViewDelegate' has been explicitly marked unavailable here
310 |
311 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
312 | @protocol UIScrollViewDelegate<NSObject>
| `- note: 'UIScrollViewDelegate' has been explicitly marked unavailable here
313 |
314 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:72:9: error: 'NSLayoutConstraint' is unavailable in watchOS
70 | scrollView.translatesAutoresizingMaskIntoConstraints = false
71 | imageView.translatesAutoresizingMaskIntoConstraints = false
72 | NSLayoutConstraint.activate([
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
73 | scrollView.topAnchor.constraint(equalTo: topAnchor),
74 | scrollView.leadingAnchor.constraint(equalTo: leadingAnchor),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
| `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string. The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:97:9: error: 'NSLayoutConstraint' is unavailable in watchOS
95 | /// Invalidates the current layout and triggers a layout update.
96 | func invalidateLayout() {
97 | NSLayoutConstraint.deactivate(constraintsBasedOnImageSize)
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
98 | layOutBasedOnImageSize()
99 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
| `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string. The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:104:13: error: 'UIView' is unavailable in watchOS
102 | switch transition {
103 | case .fade(let duration):
104 | UIView.transition(
| `- error: 'UIView' is unavailable in watchOS
105 | with: imageView,
106 | duration: duration,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:177:9: error: 'NSLayoutConstraint' is unavailable in watchOS
175 |
176 | func destroyLayoutConfigurationBeforeTransition() {
177 | NSLayoutConstraint.deactivate(constraintsBasedOnImageSize)
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
178 | imageView.translatesAutoresizingMaskIntoConstraints = true
179 | imageView.removeFromSuperview()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
| `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string. The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:197:64: error: 'contentLayoutGuide' is unavailable in watchOS
195 | assert(constraintsBasedOnImageSize.allSatisfy { !$0.isActive })
196 | constraintsBasedOnImageSize = [
197 | imageView.topAnchor.constraint(equalTo: scrollView.contentLayoutGuide.topAnchor),
| `- error: 'contentLayoutGuide' is unavailable in watchOS
198 | imageView.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
199 | imageView.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:120:53: note: 'contentLayoutGuide' has been explicitly marked unavailable here
118 | the untranslated content area of the scroll view.
119 | */
120 | @property(nonatomic,readonly,strong) UILayoutGuide *contentLayoutGuide API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'contentLayoutGuide' has been explicitly marked unavailable here
121 |
122 | /* frameLayoutGuide anchors (e.g., frameLayoutGuide.centerXAnchor) refer to
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:198:68: error: 'contentLayoutGuide' is unavailable in watchOS
196 | constraintsBasedOnImageSize = [
197 | imageView.topAnchor.constraint(equalTo: scrollView.contentLayoutGuide.topAnchor),
198 | imageView.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
| `- error: 'contentLayoutGuide' is unavailable in watchOS
199 | imageView.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
200 | imageView.bottomAnchor.constraint(equalTo: scrollView.contentLayoutGuide.bottomAnchor),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:120:53: note: 'contentLayoutGuide' has been explicitly marked unavailable here
118 | the untranslated content area of the scroll view.
119 | */
120 | @property(nonatomic,readonly,strong) UILayoutGuide *contentLayoutGuide API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'contentLayoutGuide' has been explicitly marked unavailable here
121 |
122 | /* frameLayoutGuide anchors (e.g., frameLayoutGuide.centerXAnchor) refer to
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:199:69: error: 'contentLayoutGuide' is unavailable in watchOS
197 | imageView.topAnchor.constraint(equalTo: scrollView.contentLayoutGuide.topAnchor),
198 | imageView.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
199 | imageView.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
| `- error: 'contentLayoutGuide' is unavailable in watchOS
200 | imageView.bottomAnchor.constraint(equalTo: scrollView.contentLayoutGuide.bottomAnchor),
201 | imageView.widthAnchor.constraint(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:120:53: note: 'contentLayoutGuide' has been explicitly marked unavailable here
118 | the untranslated content area of the scroll view.
119 | */
120 | @property(nonatomic,readonly,strong) UILayoutGuide *contentLayoutGuide API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'contentLayoutGuide' has been explicitly marked unavailable here
121 |
122 | /* frameLayoutGuide anchors (e.g., frameLayoutGuide.centerXAnchor) refer to
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:200:67: error: 'contentLayoutGuide' is unavailable in watchOS
198 | imageView.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
199 | imageView.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
200 | imageView.bottomAnchor.constraint(equalTo: scrollView.contentLayoutGuide.bottomAnchor),
| `- error: 'contentLayoutGuide' is unavailable in watchOS
201 | imageView.widthAnchor.constraint(
202 | equalTo: imageView.heightAnchor,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:120:53: note: 'contentLayoutGuide' has been explicitly marked unavailable here
118 | the untranslated content area of the scroll view.
119 | */
120 | @property(nonatomic,readonly,strong) UILayoutGuide *contentLayoutGuide API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'contentLayoutGuide' has been explicitly marked unavailable here
121 |
122 | /* frameLayoutGuide anchors (e.g., frameLayoutGuide.centerXAnchor) refer to
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:207:42: error: 'NSLayoutConstraint' is unavailable in watchOS
205 | ]
206 |
207 | let scrollViewContentConstraint: NSLayoutConstraint
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
208 | if imageWidthToHeight > viewWidthToHeight {
209 | scrollViewContentConstraint = scrollView.contentLayoutGuide.widthAnchor.constraint(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
| `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string. The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:209:54: error: 'contentLayoutGuide' is unavailable in watchOS
207 | let scrollViewContentConstraint: NSLayoutConstraint
208 | if imageWidthToHeight > viewWidthToHeight {
209 | scrollViewContentConstraint = scrollView.contentLayoutGuide.widthAnchor.constraint(
| `- error: 'contentLayoutGuide' is unavailable in watchOS
210 | equalTo: scrollView.frameLayoutGuide.widthAnchor
211 | )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:120:53: note: 'contentLayoutGuide' has been explicitly marked unavailable here
118 | the untranslated content area of the scroll view.
119 | */
120 | @property(nonatomic,readonly,strong) UILayoutGuide *contentLayoutGuide API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'contentLayoutGuide' has been explicitly marked unavailable here
121 |
122 | /* frameLayoutGuide anchors (e.g., frameLayoutGuide.centerXAnchor) refer to
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:210:37: error: 'frameLayoutGuide' is unavailable in watchOS
208 | if imageWidthToHeight > viewWidthToHeight {
209 | scrollViewContentConstraint = scrollView.contentLayoutGuide.widthAnchor.constraint(
210 | equalTo: scrollView.frameLayoutGuide.widthAnchor
| `- error: 'frameLayoutGuide' is unavailable in watchOS
211 | )
212 | } else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:125:53: note: 'frameLayoutGuide' has been explicitly marked unavailable here
123 | the untransformed frame of the scroll view.
124 | */
125 | @property(nonatomic,readonly,strong) UILayoutGuide *frameLayoutGuide API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'frameLayoutGuide' has been explicitly marked unavailable here
126 |
127 | @property(nullable,nonatomic,weak) id<UIScrollViewDelegate> delegate; // default nil. weak reference
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:213:54: error: 'contentLayoutGuide' is unavailable in watchOS
211 | )
212 | } else {
213 | scrollViewContentConstraint = scrollView.contentLayoutGuide.heightAnchor.constraint(
| `- error: 'contentLayoutGuide' is unavailable in watchOS
214 | equalTo: scrollView.frameLayoutGuide.heightAnchor
215 | )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:120:53: note: 'contentLayoutGuide' has been explicitly marked unavailable here
118 | the untranslated content area of the scroll view.
119 | */
120 | @property(nonatomic,readonly,strong) UILayoutGuide *contentLayoutGuide API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'contentLayoutGuide' has been explicitly marked unavailable here
121 |
122 | /* frameLayoutGuide anchors (e.g., frameLayoutGuide.centerXAnchor) refer to
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:214:37: error: 'frameLayoutGuide' is unavailable in watchOS
212 | } else {
213 | scrollViewContentConstraint = scrollView.contentLayoutGuide.heightAnchor.constraint(
214 | equalTo: scrollView.frameLayoutGuide.heightAnchor
| `- error: 'frameLayoutGuide' is unavailable in watchOS
215 | )
216 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h:125:53: note: 'frameLayoutGuide' has been explicitly marked unavailable here
123 | the untransformed frame of the scroll view.
124 | */
125 | @property(nonatomic,readonly,strong) UILayoutGuide *frameLayoutGuide API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'frameLayoutGuide' has been explicitly marked unavailable here
126 |
127 | @property(nullable,nonatomic,weak) id<UIScrollViewDelegate> delegate; // default nil. weak reference
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift:219:9: error: 'NSLayoutConstraint' is unavailable in watchOS
217 | constraintsBasedOnImageSize.append(scrollViewContentConstraint)
218 |
219 | NSLayoutConstraint.activate(constraintsBasedOnImageSize)
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
220 |
221 | layoutIfNeeded()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
| `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string. The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageViewController.swift:25:34: error: 'init()' is unavailable in watchOS
23 | weak var delegate: (any MediaViewerOnePageViewControllerDelegate)?
24 |
25 | let mediaViewerOnePageView = MediaViewerOnePageView()
| `- error: 'init()' is unavailable in watchOS
26 |
27 | let singleTapRecognizer = UITapGestureRecognizer()
/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/MediaViewer/MediaViewerOnePage/MediaViewerOnePageViewController.swift:27:31: error: 'UITapGestureRecognizer' is unavailable in watchOS
25 | let mediaViewerOnePageView = MediaViewerOnePageView()
26 |
27 | let singleTapRecognizer = UITapGestureRecognizer()
| `- error: 'UITapGestureRecognizer' is unavailable in watchOS
28 |
29 | let imageDoubleTapRecognizer: UITapGestureRecognizer = {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITapGestureRecognizer.h:23:12: note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
23 | @interface UITapGestureRecognizer : UIGestureRecognizer
| `- note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
24 |
25 | @property (nonatomic) NSUInteger numberOfTapsRequired; // Default is 1. The number of taps required to match
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageViewController.swift:29:35: error: 'UITapGestureRecognizer' is unavailable in watchOS
27 | let singleTapRecognizer = UITapGestureRecognizer()
28 |
29 | let imageDoubleTapRecognizer: UITapGestureRecognizer = {
| `- error: 'UITapGestureRecognizer' is unavailable in watchOS
30 | let recognizer = UITapGestureRecognizer()
31 | recognizer.numberOfTapsRequired = 2
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITapGestureRecognizer.h:23:12: note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
23 | @interface UITapGestureRecognizer : UIGestureRecognizer
| `- note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
24 |
25 | @property (nonatomic) NSUInteger numberOfTapsRequired; // Default is 1. The number of taps required to match
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageViewController.swift:30:26: error: 'UITapGestureRecognizer' is unavailable in watchOS
28 |
29 | let imageDoubleTapRecognizer: UITapGestureRecognizer = {
30 | let recognizer = UITapGestureRecognizer()
| `- error: 'UITapGestureRecognizer' is unavailable in watchOS
31 | recognizer.numberOfTapsRequired = 2
32 | return recognizer
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITapGestureRecognizer.h:23:12: note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
23 | @interface UITapGestureRecognizer : UIGestureRecognizer
| `- note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
24 |
25 | @property (nonatomic) NSUInteger numberOfTapsRequired; // Default is 1. The number of taps required to match
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageViewController.swift:72:31: error: 'UIViewControllerTransitionCoordinator' is unavailable in watchOS
70 | override func viewWillTransition(
71 | to size: CGSize,
72 | with coordinator: any UIViewControllerTransitionCoordinator
| `- error: 'UIViewControllerTransitionCoordinator' is unavailable in watchOS
73 | ) {
74 | super.viewWillTransition(to: size, with: coordinator)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewControllerTransitionCoordinator.h:81:11: note: 'UIViewControllerTransitionCoordinator' has been explicitly marked unavailable here
79 |
80 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
81 | @protocol UIViewControllerTransitionCoordinator <UIViewControllerTransitionCoordinatorContext>
| `- note: 'UIViewControllerTransitionCoordinator' has been explicitly marked unavailable here
82 |
83 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageViewController.swift:95:48: error: 'UITapGestureRecognizer' is unavailable in watchOS
93 |
94 | @objc
95 | private func imageDoubleTapped(recognizer: UITapGestureRecognizer) {
| `- error: 'UITapGestureRecognizer' is unavailable in watchOS
96 | mediaViewerOnePageView.updateZoomScaleOnDoubleTap(recognizedBy: recognizer)
97 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITapGestureRecognizer.h:23:12: note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
23 | @interface UITapGestureRecognizer : UIGestureRecognizer
| `- note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
24 |
25 | @property (nonatomic) NSUInteger numberOfTapsRequired; // Default is 1. The number of taps required to match
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageView.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MediaViewerOnePageView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/MediaViewerOnePage/MediaViewerOnePageViewController.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MediaViewerOnePageViewController.swift
SwiftCompile normal arm64_32 Compiling\ UIImageView+Extension.swift,\ UIView+Extension.swift /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Extensions/UIImageView+Extension.swift /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Extensions/UIView+Extension.swift (in target 'MediaViewer' from project 'MediaViewer')
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Extensions/UIImageView+Extension.swift:10:11: error: 'UIImageView' is unavailable in watchOS
8 | import UIKit
9 |
10 | extension UIImageView {
| `- error: 'UIImageView' is unavailable in watchOS
11 |
12 | @discardableResult
/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/MediaViewer/Extensions/UIImageView+Extension.swift:24:25: error: 'UIView' is unavailable in watchOS
22 | switch transition {
23 | case .fade(let duration):
24 | UIView.transition(
| `- error: 'UIView' is unavailable in watchOS
25 | with: self,
26 | duration: duration,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MediaViewer/Extensions/UIView+Extension.swift:20:74: error: 'UIView' is unavailable in watchOS
18 | }
19 |
20 | func firstSubview<View>(ofType type: View.Type) -> View? where View: UIView {
| `- error: 'UIView' is unavailable in watchOS
21 | for subview in subviews {
22 | if let view = subview as? View {
/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/MediaViewer/Extensions/UIView+Extension.swift:10:11: error: 'UIView' is unavailable in watchOS
8 | import UIKit
9 |
10 | extension UIView {
| `- error: 'UIView' is unavailable in watchOS
11 |
12 | /// Update the anchor point while keeping its position fixed.
/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/MediaViewer/Extensions/UIView+Extension.swift:15:47: error: 'anchorPoint' is unavailable in watchOS
13 | /// - Parameter newAnchorPoint: The new anchor point.
14 | func updateAnchorPointWithoutMoving(_ newAnchorPoint: CGPoint) {
15 | frame.origin.x += (newAnchorPoint.x - anchorPoint.x) * frame.width
| `- error: 'anchorPoint' is unavailable in watchOS
16 | frame.origin.y += (newAnchorPoint.y - anchorPoint.y) * frame.height
17 | anchorPoint = newAnchorPoint
/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:206:30: note: 'anchorPoint' has been explicitly marked unavailable here
204 | * the bounds rect, '(1, 1)' is the top right corner. Defaults to
205 | * '(0.5, 0.5)', i.e. the center of the bounds rect. */
206 | @property(nonatomic) CGPoint anchorPoint API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
| `- note: 'anchorPoint' has been explicitly marked unavailable here
207 |
208 | @property(nonatomic,getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled API_UNAVAILABLE(tvos); // default is NO
/Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Extensions/UIView+Extension.swift:16:47: error: 'anchorPoint' is unavailable in watchOS
14 | func updateAnchorPointWithoutMoving(_ newAnchorPoint: CGPoint) {
15 | frame.origin.x += (newAnchorPoint.x - anchorPoint.x) * frame.width
16 | frame.origin.y += (newAnchorPoint.y - anchorPoint.y) * frame.height
| `- error: 'anchorPoint' is unavailable in watchOS
17 | anchorPoint = newAnchorPoint
18 | }
/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:206:30: note: 'anchorPoint' has been explicitly marked unavailable here
204 | * the bounds rect, '(1, 1)' is the top right corner. Defaults to
205 | * '(0.5, 0.5)', i.e. the center of the bounds rect. */
206 | @property(nonatomic) CGPoint anchorPoint API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(watchos);
| `- note: 'anchorPoint' has been explicitly marked unavailable here
207 |
208 | @property(nonatomic,getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled API_UNAVAILABLE(tvos); // default is NO
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Extensions/UIImageView+Extension.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile UIImageView+Extension.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MediaViewer/Extensions/UIView+Extension.swift (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile UIView+Extension.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ MediaViewer (in target 'MediaViewer' from project 'MediaViewer')
SwiftCompile normal arm64 (in target 'MediaViewer' from project 'MediaViewer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
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-25 02:42:56.364 xcodebuild[820:4650] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftCompile normal arm64_32 (in target 'MediaViewer' from project 'MediaViewer')
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ MediaViewer (in target 'MediaViewer' from project 'MediaViewer')
Building workspace MediaViewer with scheme MediaViewer
(3 failures)
BUILD FAILURE 6.4 watchOS