The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SelfSizingScroller, reference main (de6439), with Swift 6.4 for watchOS using Xcode 27.0 on 18 Sep 2026 07:42:39 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 SelfSizingScroller -destination generic/platform=watchOS

Build Log

SwiftCompile normal arm64_32 Compiling\ CollectionViewScrollOffsetProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/CollectionViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
/Users/admin/builder/spi-builder-workspace/Sources/CollectionViewScrollOffsetProvider.swift:14:35: error: 'UICollectionView' is unavailable in watchOS
12 | 	// in a collectionview at the given position.
13 | 	public struct ScrollOffsetProvider: ScrollOffsetProviderProtocol {
14 | 		public weak var collectionView: UICollectionView?
   |                                   `- error: 'UICollectionView' is unavailable in watchOS
15 | 		public var indexPath: IndexPath
16 | 		public var position: UICollectionView.ScrollPosition
/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/CollectionViewScrollOffsetProvider.swift:16:24: error: 'UICollectionView' is unavailable in watchOS
14 | 		public weak var collectionView: UICollectionView?
15 | 		public var indexPath: IndexPath
16 | 		public var position: UICollectionView.ScrollPosition
   |                        `- error: 'UICollectionView' is unavailable in watchOS
17 | 		public var positionInsets: UIEdgeInsets = .zero
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/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/CollectionViewScrollOffsetProvider.swift:10:11: error: 'UICollectionView' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | extension UICollectionView {
   |           `- error: 'UICollectionView' is unavailable in watchOS
11 | 	// An offset provider that scrolls to an IndexPath
12 | 	// in a collectionview at the given position.
/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/CollectionViewScrollOffsetProvider.swift:40:27: error: 'UICollectionView' is unavailable in watchOS
38 | 	// helper function to make a Scroller scroll to an index path in a collectionview
39 | 	public func scrollToItem(at indexPath: IndexPath,
40 | 					  in collectionView: UICollectionView,
   |                           `- error: 'UICollectionView' is unavailable in watchOS
41 | 					  position: UICollectionView.ScrollPosition,
42 | 					  positionInsets: UIEdgeInsets = .zero,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/CollectionViewScrollOffsetProvider.swift:41:18: error: 'UICollectionView' is unavailable in watchOS
39 | 	public func scrollToItem(at indexPath: IndexPath,
40 | 					  in collectionView: UICollectionView,
41 | 					  position: UICollectionView.ScrollPosition,
   |                  `- error: 'UICollectionView' is unavailable in watchOS
42 | 					  positionInsets: UIEdgeInsets = .zero,
43 | 					  animated: Bool,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/CollectionViewScrollOffsetProvider.swift:44:29: error: 'UICollectionView' is unavailable in watchOS
42 | 					  positionInsets: UIEdgeInsets = .zero,
43 | 					  animated: Bool,
44 | 					  completion: Callback<UICollectionView>.CompletionHandler? = nil) {
   |                             `- error: 'UICollectionView' is unavailable in watchOS
45 | 		let provider = UICollectionView.ScrollOffsetProvider(collectionView: collectionView, indexPath: indexPath, position: position, positionInsets: positionInsets)
46 | 		startScrolling(with: provider, in: collectionView, animated: animated, completion: Callback<UICollectionView>.wrapped(completion))
/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/CollectionViewScrollOffsetProvider.swift:37:11: error: 'UIScrollView' is unavailable in watchOS
35 | }
36 |
37 | extension UIScrollView.Scroller {
   |           `- error: 'UIScrollView' is unavailable in watchOS
38 | 	// helper function to make a Scroller scroll to an index path in a collectionview
39 | 	public func scrollToItem(at 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/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/CollectionViewScrollOffsetProvider.swift:52:46: error: 'UIScrollView' is unavailable in watchOS
50 | // maps from UICollectionView.ScrollPosition to our scroll positions
51 | fileprivate extension UICollectionView.ScrollPosition {
52 | 	var scrollOffsetProviderHorizontalPosition: UIScrollView.ScrollOffsetProvider.Position {
   |                                              `- error: 'UIScrollView' is unavailable in watchOS
53 | 		if contains(.left) {
54 | 			return .start
/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
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/CollectionViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CollectionViewScrollOffsetProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/CollectionViewScrollOffsetProvider.swift:64:44: error: 'UIScrollView' is unavailable in watchOS
62 | 	}
63 |
64 | 	var scrollOffsetProviderVerticalPosition: UIScrollView.ScrollOffsetProvider.Position {
   |                                            `- error: 'UIScrollView' is unavailable in watchOS
65 | 		if contains(.top) {
66 | 			return .start
/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/CollectionViewScrollOffsetProvider.swift:51:23: error: 'UICollectionView' is unavailable in watchOS
49 |
50 | // maps from UICollectionView.ScrollPosition to our scroll positions
51 | fileprivate extension UICollectionView.ScrollPosition {
   |                       `- error: 'UICollectionView' is unavailable in watchOS
52 | 	var scrollOffsetProviderHorizontalPosition: UIScrollView.ScrollOffsetProvider.Position {
53 | 		if contains(.left) {
/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/CollectionViewScrollOffsetProvider.swift:27:11: error: 'UIScrollView' is unavailable in watchOS
25 | 			// TODO: Compositional Layout scrolling is not taking orthogonal scrolling into account, figure out how
26 |
27 | 			return UIScrollView.ScrollOffsetProvider.targetScrollOffset(withStartOffset: startOffset,
   |           `- error: 'UIScrollView' is unavailable in watchOS
28 | 																		for: itemFrame,
29 | 																		horizontalPosition: position.scrollOffsetProviderHorizontalPosition,
/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/CollectionViewScrollOffsetProvider.swift:45:18: error: 'UICollectionView' is unavailable in watchOS
43 | 					  animated: Bool,
44 | 					  completion: Callback<UICollectionView>.CompletionHandler? = nil) {
45 | 		let provider = UICollectionView.ScrollOffsetProvider(collectionView: collectionView, indexPath: indexPath, position: position, positionInsets: positionInsets)
   |                  `- error: 'UICollectionView' is unavailable in watchOS
46 | 		startScrolling(with: provider, in: collectionView, animated: animated, completion: Callback<UICollectionView>.wrapped(completion))
47 | 	}
/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;
SwiftCompile normal arm64_32 Compiling\ ScrollViewScroller.swift /Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:58:44: error: 'UIScrollView' is unavailable in watchOS
 56 | 		// scrollview and provider we're scrolling in, the scrollview
 57 | 		// is retained weakly.
 58 | 		public private(set) weak var scrollView: UIScrollView?
    |                                            `- error: 'UIScrollView' is unavailable in watchOS
 59 | 		public private(set) var offsetProvider: ScrollOffsetProviderProtocol?
 60 |
/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/ScrollViewScroller.swift:62:49: error: 'UIScrollView' is unavailable in watchOS
 60 |
 61 | 		// completion
 62 | 		public typealias CompletionHandler = Callback<UIScrollView>.CompletionHandler
    |                                                 `- error: 'UIScrollView' is unavailable in watchOS
 63 | 		private var completionHandler: CompletionHandler?
 64 |
/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/ScrollViewScroller.swift:67:28: error: 'CADisplayLink' is unavailable in watchOS
 65 | 		// to drive our animation
 66 | 		private var elapsedAnimationTime = TimeInterval(0)
 67 | 		private var displayLink: CADisplayLink?
    |                            `- error: 'CADisplayLink' is unavailable in watchOS
 68 |
 69 | 		// how it's started - where we are going
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:21:12: note: 'CADisplayLink' has been explicitly marked unavailable here
 19 | API_AVAILABLE(macos(14.0))
 20 |
 21 | @interface CADisplayLink : NSObject
    |            `- note: 'CADisplayLink' has been explicitly marked unavailable here
 22 | {
 23 | @private
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:86:27: error: 'UIScrollView' is unavailable in watchOS
 84 |
 85 | 		public func startScrolling(with offsetProvider: ScrollOffsetProviderProtocol,
 86 | 								   in scrollView: UIScrollView,
    |                           `- error: 'UIScrollView' is unavailable in watchOS
 87 | 								   animated: Bool = true,
 88 | 								   completion completionHandler: CompletionHandler? = 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/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/ScrollViewScroller.swift:201:54: error: 'CADisplayLink' is unavailable in watchOS
199 | 		}
200 |
201 | 		@objc private func displayLinkFired(_ displayLink: CADisplayLink) {
    |                                                      `- error: 'CADisplayLink' is unavailable in watchOS
202 | 			// check if we should still be scrolling (a finger down on the scrollview stops scrolling)
203 | 			guard let scrollView = scrollView else { return stopScrolling(hasCompleted: false, shouldCallCompletionHandler: false) }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:21:12: note: 'CADisplayLink' has been explicitly marked unavailable here
 19 | API_AVAILABLE(macos(14.0))
 20 |
 21 | @interface CADisplayLink : NSObject
    |            `- note: 'CADisplayLink' has been explicitly marked unavailable here
 22 | {
 23 | @private
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:21:11: error: 'UIScrollView' is unavailable in watchOS
 19 | }
 20 |
 21 | extension UIScrollView {
    |           `- error: 'UIScrollView' is unavailable in watchOS
 22 | 	// self sizing cells + scrollToRow/ItemAtIndexPath isn't worked great in UIKit.
 23 | 	// This class works around that by doing our own scrolling:
/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/ScrollViewScroller.swift:227:23: error: 'UIScrollView' is unavailable in watchOS
225 | }
226 |
227 | fileprivate extension UIScrollView.Scroller {
    |                       `- error: 'UIScrollView' is unavailable in watchOS
228 | 	// for each change in target, we create a target
229 | 	// that we animate independently
/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/ScrollViewScroller.swift:267:66: error: 'UIScrollView' is unavailable in watchOS
265 | 		public typealias CompletionHandler = (ViewType, _ hasCompleted: Bool) -> Void
266 |
267 | 		static func wrapped(_ handler: CompletionHandler?) -> Callback<UIScrollView>.CompletionHandler? {
    |                                                                  `- error: 'UIScrollView' is unavailable in watchOS
268 | 			guard let handler = handler else { return nil }
269 | 			return { scrollView, hasCompleted in
/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/ScrollViewScroller.swift:264:26: error: 'UIScrollView' is unavailable in watchOS
262 |
263 | public extension UIScrollView.Scroller {
264 | 	enum Callback<ViewType: UIScrollView> {
    |                          `- error: 'UIScrollView' is unavailable in watchOS
265 | 		public typealias CompletionHandler = (ViewType, _ hasCompleted: Bool) -> Void
266 |
/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
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ScrollViewScroller.swift
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:263:18: error: 'UIScrollView' is unavailable in watchOS
261 | }
262 |
263 | public extension UIScrollView.Scroller {
    |                  `- error: 'UIScrollView' is unavailable in watchOS
264 | 	enum Callback<ViewType: UIScrollView> {
265 | 		public typealias CompletionHandler = (ViewType, _ hasCompleted: Bool) -> Void
/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/ScrollViewScroller.swift:112:27: error: 'CADisplayLink' is unavailable in watchOS
110 | 				// animated, we're gonna start a display link to drive our animation
111 | 				if displayLink == nil {
112 | 					let newDisplayLink = CADisplayLink(target: self, selector: #selector(displayLinkFired(_:)))
    |                           `- error: 'CADisplayLink' is unavailable in watchOS
113 | 					if #available(iOS 15, *) {
114 | 						// https://developer.apple.com/documentation/quartzcore/optimizing_promotion_refresh_rates_for_iphone_13_pro_and_ipad_pro
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:21:12: note: 'CADisplayLink' has been explicitly marked unavailable here
 19 | API_AVAILABLE(macos(14.0))
 20 |
 21 | @interface CADisplayLink : NSObject
    |            `- note: 'CADisplayLink' has been explicitly marked unavailable here
 22 | {
 23 | @private
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:115:22: error: 'preferredFrameRateRange' is unavailable in watchOS
113 | 					if #available(iOS 15, *) {
114 | 						// https://developer.apple.com/documentation/quartzcore/optimizing_promotion_refresh_rates_for_iphone_13_pro_and_ipad_pro
115 | 						newDisplayLink.preferredFrameRateRange = CAFrameRateRange(minimum:80, maximum:120, preferred:120)
    |                      `- error: 'preferredFrameRateRange' is unavailable in watchOS
116 | 					}
117 | 					displayLink = newDisplayLink
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:100:39: note: 'preferredFrameRateRange' has been explicitly marked unavailable here
 98 |    animation sources. */
 99 |
100 | @property(nonatomic) CAFrameRateRange preferredFrameRateRange
    |                                       `- note: 'preferredFrameRateRange' has been explicitly marked unavailable here
101 |     API_AVAILABLE(ios(15.0), tvos(15.0)) API_UNAVAILABLE(watchos);
102 |
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:115:48: error: 'CAFrameRateRange' is unavailable in watchOS
113 | 					if #available(iOS 15, *) {
114 | 						// https://developer.apple.com/documentation/quartzcore/optimizing_promotion_refresh_rates_for_iphone_13_pro_and_ipad_pro
115 | 						newDisplayLink.preferredFrameRateRange = CAFrameRateRange(minimum:80, maximum:120, preferred:120)
    |                                                `- error: 'CAFrameRateRange' is unavailable in watchOS
116 | 					}
117 | 					displayLink = newDisplayLink
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAFrameRateRange.h:12:8: note: 'CAFrameRateRange' has been explicitly marked unavailable here
10 | #include <stdbool.h>
11 |
12 | struct CAFrameRateRange {
   |        `- note: 'CAFrameRateRange' has been explicitly marked unavailable here
13 |   float minimum;
14 |   float maximum;
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:115:48: error: 'init(minimum:maximum:preferred:)' is unavailable in watchOS
113 | 					if #available(iOS 15, *) {
114 | 						// https://developer.apple.com/documentation/quartzcore/optimizing_promotion_refresh_rates_for_iphone_13_pro_and_ipad_pro
115 | 						newDisplayLink.preferredFrameRateRange = CAFrameRateRange(minimum:80, maximum:120, preferred:120)
    |                                                `- error: 'init(minimum:maximum:preferred:)' is unavailable in watchOS
116 | 					}
117 | 					displayLink = newDisplayLink
QuartzCore.CAFrameRateRange.init:2:8: note: 'init(minimum:maximum:preferred:)' has been explicitly marked unavailable here
1 | struct CAFrameRateRange {
2 | public init(minimum: Float, maximum: Float, preferred: Float? = nil)}
  |        `- note: 'init(minimum:maximum:preferred:)' has been explicitly marked unavailable here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:207:40: error: 'targetTimestamp' is unavailable in watchOS
205 |
206 | 			// check how much we have progressed
207 | 			let elapsedFrameTime = (displayLink.targetTimestamp - displayLink.timestamp)
    |                                        `- error: 'targetTimestamp' is unavailable in watchOS
208 | 			elapsedAnimationTime += elapsedFrameTime
209 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:64:47: note: 'targetTimestamp' has been explicitly marked unavailable here
 62 | /* The next timestamp that the client should target their render for. */
 63 |
 64 | @property(readonly, nonatomic) CFTimeInterval targetTimestamp
    |                                               `- note: 'targetTimestamp' has been explicitly marked unavailable here
 65 |     API_AVAILABLE(ios(10.0), tvos(10.0)) API_UNAVAILABLE(watchos);
 66 |
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:281:49: error: 'UIScreen' is unavailable in watchOS
279 | fileprivate extension CGPoint {
280 | 	func isAlmostEqual(to other: CGPoint) -> Bool {
281 | 		return isAlmostEqual(to: other, delta: (1.0 / UIScreen.main.scale) * 0.1)
    |                                                 `- error: 'UIScreen' is unavailable in watchOS
282 | 	}
283 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
SwiftCompile normal arm64_32 Compiling\ TableViewScrollOffsetProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:15:30: error: 'UITableView' is unavailable in watchOS
13 | 	// in the tableview to a certain ScrollPosition.
14 | 	public struct ScrollOffsetProvider: ScrollOffsetProviderProtocol {
15 | 		public weak var tableView: UITableView?
   |                              `- error: 'UITableView' is unavailable in watchOS
16 | 		public var indexPath: IndexPath
17 | 		public var position: UITableView.ScrollPosition
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:17:24: error: 'UITableView' is unavailable in watchOS
15 | 		public weak var tableView: UITableView?
16 | 		public var indexPath: IndexPath
17 | 		public var position: UITableView.ScrollPosition
   |                        `- error: 'UITableView' is unavailable in watchOS
18 | 		public var positionInsets: UIEdgeInsets = .zero
19 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:10:11: error: 'UITableView' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | extension UITableView {
   |           `- error: 'UITableView' is unavailable in watchOS
11 |
12 | 	// A scroll provider that scrolls to an 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/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:39:21: error: 'UITableView' is unavailable in watchOS
37 | 	// helper function to make a Scroller scroll to an index path in a tableview
38 | 	public func scrollToRow(at indexPath: IndexPath,
39 | 					 in tableView: UITableView,
   |                     `- error: 'UITableView' is unavailable in watchOS
40 | 					 position: UITableView.ScrollPosition,
41 | 					 positionInsets: UIEdgeInsets = .zero,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:40:17: error: 'UITableView' is unavailable in watchOS
38 | 	public func scrollToRow(at indexPath: IndexPath,
39 | 					 in tableView: UITableView,
40 | 					 position: UITableView.ScrollPosition,
   |                 `- error: 'UITableView' is unavailable in watchOS
41 | 					 positionInsets: UIEdgeInsets = .zero,
42 | 					 animated: Bool,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:43:28: error: 'UITableView' is unavailable in watchOS
41 | 					 positionInsets: UIEdgeInsets = .zero,
42 | 					 animated: Bool,
43 | 					 completion: Callback<UITableView>.CompletionHandler? = nil) {
   |                            `- error: 'UITableView' is unavailable in watchOS
44 | 		let provider = UITableView.ScrollOffsetProvider(tableView: tableView, indexPath: indexPath, position: position, positionInsets: positionInsets)
45 | 		startScrolling(with: provider, in: tableView, animated: animated, completion: Callback<UITableView>.wrapped(completion))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:36:11: error: 'UIScrollView' is unavailable in watchOS
34 | }
35 |
36 | extension UIScrollView.Scroller {
   |           `- error: 'UIScrollView' is unavailable in watchOS
37 | 	// helper function to make a Scroller scroll to an index path in a tableview
38 | 	public func scrollToRow(at 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/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/TableViewScrollOffsetProvider.swift:51:36: error: 'UIScrollView' is unavailable in watchOS
49 | // helper to convert from UITableView.ScrollPosition to our scroll position enum
50 | fileprivate extension UITableView.ScrollPosition {
51 | 	var scrollOffsetProviderPosition: UIScrollView.ScrollOffsetProvider.Position {
   |                                    `- error: 'UIScrollView' is unavailable in watchOS
52 | 		switch self {
53 | 			case .none: return .visible
/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
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TableViewScrollOffsetProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:50:23: error: 'UITableView' is unavailable in watchOS
48 |
49 | // helper to convert from UITableView.ScrollPosition to our scroll position enum
50 | fileprivate extension UITableView.ScrollPosition {
   |                       `- error: 'UITableView' is unavailable in watchOS
51 | 	var scrollOffsetProviderPosition: UIScrollView.ScrollOffsetProvider.Position {
52 | 		switch self {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:26:11: error: 'UIScrollView' is unavailable in watchOS
24 | 			let rowRect = tableView.rectForRow(at: indexPath)
25 |
26 | 			return UIScrollView.ScrollOffsetProvider.targetScrollOffset(withStartOffset: startOffset,
   |           `- error: 'UIScrollView' is unavailable in watchOS
27 | 																		for: rowRect,
28 | 																		horizontalPosition: .none,
/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/TableViewScrollOffsetProvider.swift:44:18: error: 'UITableView' is unavailable in watchOS
42 | 					 animated: Bool,
43 | 					 completion: Callback<UITableView>.CompletionHandler? = nil) {
44 | 		let provider = UITableView.ScrollOffsetProvider(tableView: tableView, indexPath: indexPath, position: position, positionInsets: positionInsets)
   |                  `- error: 'UITableView' is unavailable in watchOS
45 | 		startScrolling(with: provider, in: tableView, animated: animated, completion: Callback<UITableView>.wrapped(completion))
46 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
SwiftCompile normal arm64_32 Compiling\ ScrollViewScrollOffsetProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:24:44: error: 'UIScrollView' is unavailable in watchOS
 22 | 		}
 23 |
 24 | 		public private(set) weak var scrollView: UIScrollView?
    |                                            `- error: 'UIScrollView' is unavailable in watchOS
 25 | 		public let horizontalPosition: Position // the horizontal "edge" position of the rect where should land
 26 | 		public let verticalPosition: Position // the vertical "edge" position of the rect where should land
/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/ScrollViewScrollOffsetProvider.swift:30:44: error: 'UIScrollView' is unavailable in watchOS
 28 |
 29 | 		// this callback can be set to provide a rect of the target we want to show
 30 | 		public typealias RectProviderCallback = (UIScrollView) -> CGRect?
    |                                            `- error: 'UIScrollView' is unavailable in watchOS
 31 | 		public var rectProvider: RectProviderCallback?
 32 |
/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/ScrollViewScrollOffsetProvider.swift:33:27: error: 'UIScrollView' is unavailable in watchOS
 31 | 		public var rectProvider: RectProviderCallback?
 32 |
 33 | 		public init(scrollView: UIScrollView,
    |                           `- error: 'UIScrollView' is unavailable in watchOS
 34 | 			 horizontalPosition: Position = .none,
 35 | 			 verticalPosition: Position = .none,
/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/ScrollViewScrollOffsetProvider.swift:54:28: error: 'UIScrollView' is unavailable in watchOS
 52 | 									   verticalPosition: Position,
 53 | 									   positionInsets: UIEdgeInsets,
 54 | 									   in scrollView: UIScrollView) -> CGPoint? {
    |                            `- error: 'UIScrollView' is unavailable in watchOS
 55 | 			let visibleFrame = scrollView.visibleFrame.inset(by: positionInsets)
 56 | 			let x = horizontalPosition.resolve(value: rect.horizontalLineSegment,
/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/ScrollViewScrollOffsetProvider.swift:10:11: error: 'UIScrollView' is unavailable in watchOS
  8 | import UIKit
  9 |
 10 | extension UIScrollView {
    |           `- error: 'UIScrollView' is unavailable in watchOS
 11 | 	// An offset provider that takes a horizontal and vertical position
 12 | 	// and a block that provides a rect where we should be scrolled 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/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/ScrollViewScrollOffsetProvider.swift:83:29: error: 'UIScrollView' is unavailable in watchOS
 81 | fileprivate extension CGRect {
 82 | 	// helper
 83 | 	var horizontalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minX, end: maxX) }
    |                             `- error: 'UIScrollView' is unavailable in watchOS
 84 | 	var verticalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minY, end: maxY) }
 85 | }
/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/ScrollViewScrollOffsetProvider.swift:84:27: error: 'UIScrollView' is unavailable in watchOS
 82 | 	// helper
 83 | 	var horizontalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minX, end: maxX) }
 84 | 	var verticalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minY, end: maxY) }
    |                           `- error: 'UIScrollView' is unavailable in watchOS
 85 | }
 86 |
/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/ScrollViewScrollOffsetProvider.swift:87:23: error: 'UIScrollView' is unavailable in watchOS
 85 | }
 86 |
 87 | fileprivate extension UIScrollView.ScrollOffsetProvider.Position {
    |                       `- error: 'UIScrollView' is unavailable in watchOS
 88 | 	// a line on an axis with a start and endpoint
 89 | 	struct LineSegment {
/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/ScrollViewScrollOffsetProvider.swift:125:23: error: 'UIScrollView' is unavailable in watchOS
123 | }
124 |
125 | fileprivate extension UIScrollView {
    |                       `- error: 'UIScrollView' is unavailable in watchOS
126 | 	// the frame that can be considered visible, and not obscured by insets
127 | 	var visibleFrame: CGRect {
/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/ScrollViewScrollOffsetProvider.swift:115:20: error: 'UIScrollView' is unavailable in watchOS
113 | 					// not visible, determine if the target is before our current position and, if so, scroll the target to start,
114 | 					// otherwise to end: that way we make sure that we stop scrolling once the contents is visible.
115 | 					let position: UIScrollView.ScrollOffsetProvider.Position = (value.start < currentLine.start ? .start : .end)
    |                    `- error: 'UIScrollView' is unavailable in watchOS
116 | 					return position.resolve(value: value, visible: visible, current: current)
117 | 				}
/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/ScrollViewScrollOffsetProvider.swift:118:62: error: 'UIScreen' is unavailable in watchOS
116 | 					return position.resolve(value: value, visible: visible, current: current)
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                              `- error: 'UIScreen' is unavailable in watchOS
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:118:71: error: 'main' is unavailable in watchOS
116 | 					return position.resolve(value: value, visible: visible, current: current)
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                       `- error: 'main' is unavailable in watchOS
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:118:85: error: 'UIScreen' is unavailable in watchOS
116 | 					return position.resolve(value: value, visible: visible, current: current)
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                                     `- error: 'UIScreen' is unavailable in watchOS
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:118:94: error: 'main' is unavailable in watchOS
116 | 					return position.resolve(value: value, visible: visible, current: current)
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                                              `- error: 'main' is unavailable in watchOS
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:119:65: error: 'UIScreen' is unavailable in watchOS
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                 `- error: 'UIScreen' is unavailable in watchOS
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
121 | 		}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:119:74: error: 'main' is unavailable in watchOS
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                          `- error: 'main' is unavailable in watchOS
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
121 | 		}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:119:88: error: 'UIScreen' is unavailable in watchOS
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                                        `- error: 'UIScreen' is unavailable in watchOS
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
121 | 		}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:119:97: error: 'main' is unavailable in watchOS
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                                                 `- error: 'main' is unavailable in watchOS
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
121 | 		}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:120:55: error: 'UIScreen' is unavailable in watchOS
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                       `- error: 'UIScreen' is unavailable in watchOS
121 | 		}
122 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:120:64: error: 'main' is unavailable in watchOS
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                `- error: 'main' is unavailable in watchOS
121 | 		}
122 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:120:78: error: 'UIScreen' is unavailable in watchOS
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                              `- error: 'UIScreen' is unavailable in watchOS
121 | 		}
122 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ScrollViewScrollOffsetProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:120:87: error: 'main' is unavailable in watchOS
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                                       `- error: 'main' is unavailable in watchOS
121 | 		}
122 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:129:25: error: 'adjustedContentInset' is unavailable in watchOS
127 | 	var visibleFrame: CGRect {
128 | 		let rect = CGRect(origin: .zero, size: bounds.size)
129 | 		return rect.inset(by: adjustedContentInset)
    |                         `- error: 'adjustedContentInset' is unavailable in watchOS
130 | 	}
131 |
/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.
SwiftCompile normal arm64_32 Compiling\ ScrollViewScroller+Convenience.swift /Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller+Convenience.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller+Convenience.swift:12:11: error: 'UIScrollView' is unavailable in watchOS
10 |
11 | // Convenience helper: Adds a retained scrolled to a UIScrollView, on demand.
12 | extension UIScrollView {
   |           `- error: 'UIScrollView' is unavailable in watchOS
13 | 	private static var scrollerAssociatedObjectKey = 0
14 |
/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/ScrollViewScroller+Convenience.swift:33:30: error: 'UITableView' is unavailable in watchOS
31 | 	// helper function to scroll to an indexpath - uses the retained scroller
32 | 	public func reallyScrollToRow(at indexPath: IndexPath,
33 | 								  at scrollPosition: UITableView.ScrollPosition,
   |                              `- error: 'UITableView' is unavailable in watchOS
34 | 								  insets: UIEdgeInsets = .zero,
35 | 								  animated: Bool,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller+Convenience.swift:36:23: error: 'UIScrollView' is unavailable in watchOS
34 | 								  insets: UIEdgeInsets = .zero,
35 | 								  animated: Bool,
36 | 								  completion: UIScrollView.Scroller.Callback<UITableView>.CompletionHandler? = nil) {
   |                       `- error: 'UIScrollView' is unavailable in watchOS
37 | 		scroller.scrollToRow(at: indexPath, in: self, position: scrollPosition, positionInsets: insets, animated: animated, completion: completion)
38 | 	}
/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/ScrollViewScroller+Convenience.swift:30:11: error: 'UITableView' is unavailable in watchOS
28 |
29 |
30 | extension UITableView {
   |           `- error: 'UITableView' is unavailable in watchOS
31 | 	// helper function to scroll to an indexpath - uses the retained scroller
32 | 	public func reallyScrollToRow(at 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/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller+Convenience.swift:44:31: error: 'UICollectionView' is unavailable in watchOS
42 | 	// helper function to scroll to an indexpath - uses the retained scroller
43 | 	public func reallyScrollToItem(at indexPath: IndexPath,
44 | 								   at scrollPosition: UICollectionView.ScrollPosition,
   |                               `- error: 'UICollectionView' is unavailable in watchOS
45 | 								   insets: UIEdgeInsets = .zero,
46 | 								   animated: Bool,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/ScrollViewScroller+Convenience.swift:47:24: error: 'UIScrollView' is unavailable in watchOS
45 | 								   insets: UIEdgeInsets = .zero,
46 | 								   animated: Bool,
47 | 								   completion: UIScrollView.Scroller.Callback<UICollectionView>.CompletionHandler? = nil) {
   |                        `- error: 'UIScrollView' is unavailable in watchOS
48 | 		scroller.scrollToItem(at: indexPath, in: self, position: scrollPosition, positionInsets: insets, animated: animated, completion: completion)
49 | 	}
/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
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller+Convenience.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ScrollViewScroller+Convenience.swift
SwiftCompile normal arm64 Compiling\ ScrollViewScrollOffsetProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:24:44: error: 'UIScrollView' is unavailable in watchOS
 22 | 		}
 23 |
 24 | 		public private(set) weak var scrollView: UIScrollView?
    |                                            `- error: 'UIScrollView' is unavailable in watchOS
 25 | 		public let horizontalPosition: Position // the horizontal "edge" position of the rect where should land
 26 | 		public let verticalPosition: Position // the vertical "edge" position of the rect where should land
/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/ScrollViewScrollOffsetProvider.swift:30:44: error: 'UIScrollView' is unavailable in watchOS
 28 |
 29 | 		// this callback can be set to provide a rect of the target we want to show
 30 | 		public typealias RectProviderCallback = (UIScrollView) -> CGRect?
    |                                            `- error: 'UIScrollView' is unavailable in watchOS
 31 | 		public var rectProvider: RectProviderCallback?
 32 |
/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/ScrollViewScrollOffsetProvider.swift:33:27: error: 'UIScrollView' is unavailable in watchOS
 31 | 		public var rectProvider: RectProviderCallback?
 32 |
 33 | 		public init(scrollView: UIScrollView,
    |                           `- error: 'UIScrollView' is unavailable in watchOS
 34 | 			 horizontalPosition: Position = .none,
 35 | 			 verticalPosition: Position = .none,
/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/ScrollViewScrollOffsetProvider.swift:54:28: error: 'UIScrollView' is unavailable in watchOS
 52 | 									   verticalPosition: Position,
 53 | 									   positionInsets: UIEdgeInsets,
 54 | 									   in scrollView: UIScrollView) -> CGPoint? {
    |                            `- error: 'UIScrollView' is unavailable in watchOS
 55 | 			let visibleFrame = scrollView.visibleFrame.inset(by: positionInsets)
 56 | 			let x = horizontalPosition.resolve(value: rect.horizontalLineSegment,
/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/ScrollViewScrollOffsetProvider.swift:10:11: error: 'UIScrollView' is unavailable in watchOS
  8 | import UIKit
  9 |
 10 | extension UIScrollView {
    |           `- error: 'UIScrollView' is unavailable in watchOS
 11 | 	// An offset provider that takes a horizontal and vertical position
 12 | 	// and a block that provides a rect where we should be scrolled 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/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/ScrollViewScrollOffsetProvider.swift:83:29: error: 'UIScrollView' is unavailable in watchOS
 81 | fileprivate extension CGRect {
 82 | 	// helper
 83 | 	var horizontalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minX, end: maxX) }
    |                             `- error: 'UIScrollView' is unavailable in watchOS
 84 | 	var verticalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minY, end: maxY) }
 85 | }
/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/ScrollViewScrollOffsetProvider.swift:84:27: error: 'UIScrollView' is unavailable in watchOS
 82 | 	// helper
 83 | 	var horizontalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minX, end: maxX) }
 84 | 	var verticalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minY, end: maxY) }
    |                           `- error: 'UIScrollView' is unavailable in watchOS
 85 | }
 86 |
/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/ScrollViewScrollOffsetProvider.swift:87:23: error: 'UIScrollView' is unavailable in watchOS
 85 | }
 86 |
 87 | fileprivate extension UIScrollView.ScrollOffsetProvider.Position {
    |                       `- error: 'UIScrollView' is unavailable in watchOS
 88 | 	// a line on an axis with a start and endpoint
 89 | 	struct LineSegment {
/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/ScrollViewScrollOffsetProvider.swift:125:23: error: 'UIScrollView' is unavailable in watchOS
123 | }
124 |
125 | fileprivate extension UIScrollView {
    |                       `- error: 'UIScrollView' is unavailable in watchOS
126 | 	// the frame that can be considered visible, and not obscured by insets
127 | 	var visibleFrame: CGRect {
/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/ScrollViewScrollOffsetProvider.swift:115:20: error: 'UIScrollView' is unavailable in watchOS
113 | 					// not visible, determine if the target is before our current position and, if so, scroll the target to start,
114 | 					// otherwise to end: that way we make sure that we stop scrolling once the contents is visible.
115 | 					let position: UIScrollView.ScrollOffsetProvider.Position = (value.start < currentLine.start ? .start : .end)
    |                    `- error: 'UIScrollView' is unavailable in watchOS
116 | 					return position.resolve(value: value, visible: visible, current: current)
117 | 				}
/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/ScrollViewScrollOffsetProvider.swift:118:62: error: 'UIScreen' is unavailable in watchOS
116 | 					return position.resolve(value: value, visible: visible, current: current)
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                              `- error: 'UIScreen' is unavailable in watchOS
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:118:71: error: 'main' is unavailable in watchOS
116 | 					return position.resolve(value: value, visible: visible, current: current)
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                       `- error: 'main' is unavailable in watchOS
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:118:85: error: 'UIScreen' is unavailable in watchOS
116 | 					return position.resolve(value: value, visible: visible, current: current)
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                                     `- error: 'UIScreen' is unavailable in watchOS
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:118:94: error: 'main' is unavailable in watchOS
116 | 					return position.resolve(value: value, visible: visible, current: current)
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                                              `- error: 'main' is unavailable in watchOS
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:119:65: error: 'UIScreen' is unavailable in watchOS
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                 `- error: 'UIScreen' is unavailable in watchOS
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
121 | 		}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:119:74: error: 'main' is unavailable in watchOS
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                          `- error: 'main' is unavailable in watchOS
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
121 | 		}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:119:88: error: 'UIScreen' is unavailable in watchOS
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                                        `- error: 'UIScreen' is unavailable in watchOS
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
121 | 		}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:119:97: error: 'main' is unavailable in watchOS
117 | 				}
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                                                 `- error: 'main' is unavailable in watchOS
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
121 | 		}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:120:55: error: 'UIScreen' is unavailable in watchOS
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                       `- error: 'UIScreen' is unavailable in watchOS
121 | 		}
122 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:120:64: error: 'main' is unavailable in watchOS
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                `- error: 'main' is unavailable in watchOS
121 | 		}
122 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:120:78: error: 'UIScreen' is unavailable in watchOS
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                              `- error: 'UIScreen' is unavailable in watchOS
121 | 		}
122 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:120:87: error: 'main' is unavailable in watchOS
118 | 			case .start: return floor((value.start - visible.start) * UIScreen.main.scale) / UIScreen.main.scale
119 | 			case .center: return round((value.center - visible.center) * UIScreen.main.scale) / UIScreen.main.scale
120 | 			case .end: return ceil((value.end - visible.end) * UIScreen.main.scale) / UIScreen.main.scale
    |                                                                                       `- error: 'main' is unavailable in watchOS
121 | 		}
122 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift:129:25: error: 'adjustedContentInset' is unavailable in watchOS
127 | 	var visibleFrame: CGRect {
128 | 		let rect = CGRect(origin: .zero, size: bounds.size)
129 | 		return rect.inset(by: adjustedContentInset)
    |                         `- error: 'adjustedContentInset' is unavailable in watchOS
130 | 	}
131 |
/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.
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ScrollViewScrollOffsetProvider.swift
SwiftCompile normal arm64 Compiling\ TableViewScrollOffsetProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:15:30: error: 'UITableView' is unavailable in watchOS
13 | 	// in the tableview to a certain ScrollPosition.
14 | 	public struct ScrollOffsetProvider: ScrollOffsetProviderProtocol {
15 | 		public weak var tableView: UITableView?
   |                              `- error: 'UITableView' is unavailable in watchOS
16 | 		public var indexPath: IndexPath
17 | 		public var position: UITableView.ScrollPosition
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:17:24: error: 'UITableView' is unavailable in watchOS
15 | 		public weak var tableView: UITableView?
16 | 		public var indexPath: IndexPath
17 | 		public var position: UITableView.ScrollPosition
   |                        `- error: 'UITableView' is unavailable in watchOS
18 | 		public var positionInsets: UIEdgeInsets = .zero
19 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:10:11: error: 'UITableView' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | extension UITableView {
   |           `- error: 'UITableView' is unavailable in watchOS
11 |
12 | 	// A scroll provider that scrolls to an 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/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:39:21: error: 'UITableView' is unavailable in watchOS
37 | 	// helper function to make a Scroller scroll to an index path in a tableview
38 | 	public func scrollToRow(at indexPath: IndexPath,
39 | 					 in tableView: UITableView,
   |                     `- error: 'UITableView' is unavailable in watchOS
40 | 					 position: UITableView.ScrollPosition,
41 | 					 positionInsets: UIEdgeInsets = .zero,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:40:17: error: 'UITableView' is unavailable in watchOS
38 | 	public func scrollToRow(at indexPath: IndexPath,
39 | 					 in tableView: UITableView,
40 | 					 position: UITableView.ScrollPosition,
   |                 `- error: 'UITableView' is unavailable in watchOS
41 | 					 positionInsets: UIEdgeInsets = .zero,
42 | 					 animated: Bool,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:43:28: error: 'UITableView' is unavailable in watchOS
41 | 					 positionInsets: UIEdgeInsets = .zero,
42 | 					 animated: Bool,
43 | 					 completion: Callback<UITableView>.CompletionHandler? = nil) {
   |                            `- error: 'UITableView' is unavailable in watchOS
44 | 		let provider = UITableView.ScrollOffsetProvider(tableView: tableView, indexPath: indexPath, position: position, positionInsets: positionInsets)
45 | 		startScrolling(with: provider, in: tableView, animated: animated, completion: Callback<UITableView>.wrapped(completion))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:36:11: error: 'UIScrollView' is unavailable in watchOS
34 | }
35 |
36 | extension UIScrollView.Scroller {
   |           `- error: 'UIScrollView' is unavailable in watchOS
37 | 	// helper function to make a Scroller scroll to an index path in a tableview
38 | 	public func scrollToRow(at 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/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/TableViewScrollOffsetProvider.swift:51:36: error: 'UIScrollView' is unavailable in watchOS
49 | // helper to convert from UITableView.ScrollPosition to our scroll position enum
50 | fileprivate extension UITableView.ScrollPosition {
51 | 	var scrollOffsetProviderPosition: UIScrollView.ScrollOffsetProvider.Position {
   |                                    `- error: 'UIScrollView' is unavailable in watchOS
52 | 		switch self {
53 | 			case .none: return .visible
/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/TableViewScrollOffsetProvider.swift:50:23: error: 'UITableView' is unavailable in watchOS
48 |
49 | // helper to convert from UITableView.ScrollPosition to our scroll position enum
50 | fileprivate extension UITableView.ScrollPosition {
   |                       `- error: 'UITableView' is unavailable in watchOS
51 | 	var scrollOffsetProviderPosition: UIScrollView.ScrollOffsetProvider.Position {
52 | 		switch self {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:26:11: error: 'UIScrollView' is unavailable in watchOS
24 | 			let rowRect = tableView.rectForRow(at: indexPath)
25 |
26 | 			return UIScrollView.ScrollOffsetProvider.targetScrollOffset(withStartOffset: startOffset,
   |           `- error: 'UIScrollView' is unavailable in watchOS
27 | 																		for: rowRect,
28 | 																		horizontalPosition: .none,
/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/TableViewScrollOffsetProvider.swift:44:18: error: 'UITableView' is unavailable in watchOS
42 | 					 animated: Bool,
43 | 					 completion: Callback<UITableView>.CompletionHandler? = nil) {
44 | 		let provider = UITableView.ScrollOffsetProvider(tableView: tableView, indexPath: indexPath, position: position, positionInsets: positionInsets)
   |                  `- error: 'UITableView' is unavailable in watchOS
45 | 		startScrolling(with: provider, in: tableView, animated: animated, completion: Callback<UITableView>.wrapped(completion))
46 | 	}
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TableViewScrollOffsetProvider.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ SelfSizingScroller (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
/Users/admin/builder/spi-builder-workspace/Sources/CollectionViewScrollOffsetProvider.swift:14:35: error: 'UICollectionView' is unavailable in watchOS
12 | 	// in a collectionview at the given position.
13 | 	public struct ScrollOffsetProvider: ScrollOffsetProviderProtocol {
14 | 		public weak var collectionView: UICollectionView?
   |                                   `- error: 'UICollectionView' is unavailable in watchOS
15 | 		public var indexPath: IndexPath
16 | 		public var position: UICollectionView.ScrollPosition
/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/CollectionViewScrollOffsetProvider.swift:16:24: error: 'UICollectionView' is unavailable in watchOS
14 | 		public weak var collectionView: UICollectionView?
15 | 		public var indexPath: IndexPath
16 | 		public var position: UICollectionView.ScrollPosition
   |                        `- error: 'UICollectionView' is unavailable in watchOS
17 | 		public var positionInsets: UIEdgeInsets = .zero
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/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/CollectionViewScrollOffsetProvider.swift:10:11: error: 'UICollectionView' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | extension UICollectionView {
   |           `- error: 'UICollectionView' is unavailable in watchOS
11 | 	// An offset provider that scrolls to an IndexPath
12 | 	// in a collectionview at the given position.
/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/CollectionViewScrollOffsetProvider.swift:40:27: error: 'UICollectionView' is unavailable in watchOS
38 | 	// helper function to make a Scroller scroll to an index path in a collectionview
39 | 	public func scrollToItem(at indexPath: IndexPath,
40 | 					  in collectionView: UICollectionView,
   |                           `- error: 'UICollectionView' is unavailable in watchOS
41 | 					  position: UICollectionView.ScrollPosition,
42 | 					  positionInsets: UIEdgeInsets = .zero,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/CollectionViewScrollOffsetProvider.swift:41:18: error: 'UICollectionView' is unavailable in watchOS
39 | 	public func scrollToItem(at indexPath: IndexPath,
40 | 					  in collectionView: UICollectionView,
41 | 					  position: UICollectionView.ScrollPosition,
   |                  `- error: 'UICollectionView' is unavailable in watchOS
42 | 					  positionInsets: UIEdgeInsets = .zero,
43 | 					  animated: Bool,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/CollectionViewScrollOffsetProvider.swift:44:29: error: 'UICollectionView' is unavailable in watchOS
42 | 					  positionInsets: UIEdgeInsets = .zero,
43 | 					  animated: Bool,
44 | 					  completion: Callback<UICollectionView>.CompletionHandler? = nil) {
   |                             `- error: 'UICollectionView' is unavailable in watchOS
45 | 		let provider = UICollectionView.ScrollOffsetProvider(collectionView: collectionView, indexPath: indexPath, position: position, positionInsets: positionInsets)
46 | 		startScrolling(with: provider, in: collectionView, animated: animated, completion: Callback<UICollectionView>.wrapped(completion))
/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/CollectionViewScrollOffsetProvider.swift:37:11: error: 'UIScrollView' is unavailable in watchOS
35 | }
36 |
37 | extension UIScrollView.Scroller {
   |           `- error: 'UIScrollView' is unavailable in watchOS
38 | 	// helper function to make a Scroller scroll to an index path in a collectionview
39 | 	public func scrollToItem(at 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/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/CollectionViewScrollOffsetProvider.swift:52:46: error: 'UIScrollView' is unavailable in watchOS
50 | // maps from UICollectionView.ScrollPosition to our scroll positions
51 | fileprivate extension UICollectionView.ScrollPosition {
52 | 	var scrollOffsetProviderHorizontalPosition: UIScrollView.ScrollOffsetProvider.Position {
   |                                              `- error: 'UIScrollView' is unavailable in watchOS
53 | 		if contains(.left) {
54 | 			return .start
/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/CollectionViewScrollOffsetProvider.swift:64:44: error: 'UIScrollView' is unavailable in watchOS
62 | 	}
63 |
64 | 	var scrollOffsetProviderVerticalPosition: UIScrollView.ScrollOffsetProvider.Position {
   |                                            `- error: 'UIScrollView' is unavailable in watchOS
65 | 		if contains(.top) {
66 | 			return .start
/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/CollectionViewScrollOffsetProvider.swift:51:23: error: 'UICollectionView' is unavailable in watchOS
49 |
50 | // maps from UICollectionView.ScrollPosition to our scroll positions
51 | fileprivate extension UICollectionView.ScrollPosition {
   |                       `- error: 'UICollectionView' is unavailable in watchOS
52 | 	var scrollOffsetProviderHorizontalPosition: UIScrollView.ScrollOffsetProvider.Position {
53 | 		if contains(.left) {
/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/ScrollViewScrollOffsetProvider.swift:24:44: error: 'UIScrollView' is unavailable in watchOS
 22 | 		}
 23 |
 24 | 		public private(set) weak var scrollView: UIScrollView?
    |                                            `- error: 'UIScrollView' is unavailable in watchOS
 25 | 		public let horizontalPosition: Position // the horizontal "edge" position of the rect where should land
 26 | 		public let verticalPosition: Position // the vertical "edge" position of the rect where should land
/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/ScrollViewScrollOffsetProvider.swift:30:44: error: 'UIScrollView' is unavailable in watchOS
 28 |
 29 | 		// this callback can be set to provide a rect of the target we want to show
 30 | 		public typealias RectProviderCallback = (UIScrollView) -> CGRect?
    |                                            `- error: 'UIScrollView' is unavailable in watchOS
 31 | 		public var rectProvider: RectProviderCallback?
 32 |
/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/ScrollViewScrollOffsetProvider.swift:33:27: error: 'UIScrollView' is unavailable in watchOS
 31 | 		public var rectProvider: RectProviderCallback?
 32 |
 33 | 		public init(scrollView: UIScrollView,
    |                           `- error: 'UIScrollView' is unavailable in watchOS
 34 | 			 horizontalPosition: Position = .none,
 35 | 			 verticalPosition: Position = .none,
/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/ScrollViewScrollOffsetProvider.swift:54:28: error: 'UIScrollView' is unavailable in watchOS
 52 | 									   verticalPosition: Position,
 53 | 									   positionInsets: UIEdgeInsets,
 54 | 									   in scrollView: UIScrollView) -> CGPoint? {
    |                            `- error: 'UIScrollView' is unavailable in watchOS
 55 | 			let visibleFrame = scrollView.visibleFrame.inset(by: positionInsets)
 56 | 			let x = horizontalPosition.resolve(value: rect.horizontalLineSegment,
/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/ScrollViewScrollOffsetProvider.swift:10:11: error: 'UIScrollView' is unavailable in watchOS
  8 | import UIKit
  9 |
 10 | extension UIScrollView {
    |           `- error: 'UIScrollView' is unavailable in watchOS
 11 | 	// An offset provider that takes a horizontal and vertical position
 12 | 	// and a block that provides a rect where we should be scrolled 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/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/ScrollViewScrollOffsetProvider.swift:83:29: error: 'UIScrollView' is unavailable in watchOS
 81 | fileprivate extension CGRect {
 82 | 	// helper
 83 | 	var horizontalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minX, end: maxX) }
    |                             `- error: 'UIScrollView' is unavailable in watchOS
 84 | 	var verticalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minY, end: maxY) }
 85 | }
/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/ScrollViewScrollOffsetProvider.swift:84:27: error: 'UIScrollView' is unavailable in watchOS
 82 | 	// helper
 83 | 	var horizontalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minX, end: maxX) }
 84 | 	var verticalLineSegment: UIScrollView.ScrollOffsetProvider.Position.LineSegment { .init(start: minY, end: maxY) }
    |                           `- error: 'UIScrollView' is unavailable in watchOS
 85 | }
 86 |
/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/ScrollViewScrollOffsetProvider.swift:87:23: error: 'UIScrollView' is unavailable in watchOS
 85 | }
 86 |
 87 | fileprivate extension UIScrollView.ScrollOffsetProvider.Position {
    |                       `- error: 'UIScrollView' is unavailable in watchOS
 88 | 	// a line on an axis with a start and endpoint
 89 | 	struct LineSegment {
/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/ScrollViewScrollOffsetProvider.swift:125:23: error: 'UIScrollView' is unavailable in watchOS
123 | }
124 |
125 | fileprivate extension UIScrollView {
    |                       `- error: 'UIScrollView' is unavailable in watchOS
126 | 	// the frame that can be considered visible, and not obscured by insets
127 | 	var visibleFrame: CGRect {
/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/ScrollViewScroller+Convenience.swift:12:11: error: 'UIScrollView' is unavailable in watchOS
10 |
11 | // Convenience helper: Adds a retained scrolled to a UIScrollView, on demand.
12 | extension UIScrollView {
   |           `- error: 'UIScrollView' is unavailable in watchOS
13 | 	private static var scrollerAssociatedObjectKey = 0
14 |
/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/ScrollViewScroller+Convenience.swift:33:30: error: 'UITableView' is unavailable in watchOS
31 | 	// helper function to scroll to an indexpath - uses the retained scroller
32 | 	public func reallyScrollToRow(at indexPath: IndexPath,
33 | 								  at scrollPosition: UITableView.ScrollPosition,
   |                              `- error: 'UITableView' is unavailable in watchOS
34 | 								  insets: UIEdgeInsets = .zero,
35 | 								  animated: Bool,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller+Convenience.swift:36:23: error: 'UIScrollView' is unavailable in watchOS
34 | 								  insets: UIEdgeInsets = .zero,
35 | 								  animated: Bool,
36 | 								  completion: UIScrollView.Scroller.Callback<UITableView>.CompletionHandler? = nil) {
   |                       `- error: 'UIScrollView' is unavailable in watchOS
37 | 		scroller.scrollToRow(at: indexPath, in: self, position: scrollPosition, positionInsets: insets, animated: animated, completion: completion)
38 | 	}
/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/ScrollViewScroller+Convenience.swift:30:11: error: 'UITableView' is unavailable in watchOS
28 |
29 |
30 | extension UITableView {
   |           `- error: 'UITableView' is unavailable in watchOS
31 | 	// helper function to scroll to an indexpath - uses the retained scroller
32 | 	public func reallyScrollToRow(at 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/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller+Convenience.swift:44:31: error: 'UICollectionView' is unavailable in watchOS
42 | 	// helper function to scroll to an indexpath - uses the retained scroller
43 | 	public func reallyScrollToItem(at indexPath: IndexPath,
44 | 								   at scrollPosition: UICollectionView.ScrollPosition,
   |                               `- error: 'UICollectionView' is unavailable in watchOS
45 | 								   insets: UIEdgeInsets = .zero,
46 | 								   animated: Bool,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/ScrollViewScroller+Convenience.swift:47:24: error: 'UIScrollView' is unavailable in watchOS
45 | 								   insets: UIEdgeInsets = .zero,
46 | 								   animated: Bool,
47 | 								   completion: UIScrollView.Scroller.Callback<UICollectionView>.CompletionHandler? = nil) {
   |                        `- error: 'UIScrollView' is unavailable in watchOS
48 | 		scroller.scrollToItem(at: indexPath, in: self, position: scrollPosition, positionInsets: insets, animated: animated, completion: completion)
49 | 	}
/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/ScrollViewScroller+Convenience.swift:41:11: error: 'UICollectionView' is unavailable in watchOS
39 | }
40 |
41 | extension UICollectionView {
   |           `- error: 'UICollectionView' is unavailable in watchOS
42 | 	// helper function to scroll to an indexpath - uses the retained scroller
43 | 	public func reallyScrollToItem(at 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: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/ScrollViewScroller.swift:58:44: error: 'UIScrollView' is unavailable in watchOS
 56 | 		// scrollview and provider we're scrolling in, the scrollview
 57 | 		// is retained weakly.
 58 | 		public private(set) weak var scrollView: UIScrollView?
    |                                            `- error: 'UIScrollView' is unavailable in watchOS
 59 | 		public private(set) var offsetProvider: ScrollOffsetProviderProtocol?
 60 |
/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/ScrollViewScroller.swift:62:49: error: 'UIScrollView' is unavailable in watchOS
 60 |
 61 | 		// completion
 62 | 		public typealias CompletionHandler = Callback<UIScrollView>.CompletionHandler
    |                                                 `- error: 'UIScrollView' is unavailable in watchOS
 63 | 		private var completionHandler: CompletionHandler?
 64 |
/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/ScrollViewScroller.swift:67:28: error: 'CADisplayLink' is unavailable in watchOS
 65 | 		// to drive our animation
 66 | 		private var elapsedAnimationTime = TimeInterval(0)
 67 | 		private var displayLink: CADisplayLink?
    |                            `- error: 'CADisplayLink' is unavailable in watchOS
 68 |
 69 | 		// how it's started - where we are going
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:21:12: note: 'CADisplayLink' has been explicitly marked unavailable here
 19 | API_AVAILABLE(macos(14.0))
 20 |
 21 | @interface CADisplayLink : NSObject
    |            `- note: 'CADisplayLink' has been explicitly marked unavailable here
 22 | {
 23 | @private
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:86:27: error: 'UIScrollView' is unavailable in watchOS
 84 |
 85 | 		public func startScrolling(with offsetProvider: ScrollOffsetProviderProtocol,
 86 | 								   in scrollView: UIScrollView,
    |                           `- error: 'UIScrollView' is unavailable in watchOS
 87 | 								   animated: Bool = true,
 88 | 								   completion completionHandler: CompletionHandler? = 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/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/ScrollViewScroller.swift:201:54: error: 'CADisplayLink' is unavailable in watchOS
199 | 		}
200 |
201 | 		@objc private func displayLinkFired(_ displayLink: CADisplayLink) {
    |                                                      `- error: 'CADisplayLink' is unavailable in watchOS
202 | 			// check if we should still be scrolling (a finger down on the scrollview stops scrolling)
203 | 			guard let scrollView = scrollView else { return stopScrolling(hasCompleted: false, shouldCallCompletionHandler: false) }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:21:12: note: 'CADisplayLink' has been explicitly marked unavailable here
 19 | API_AVAILABLE(macos(14.0))
 20 |
 21 | @interface CADisplayLink : NSObject
    |            `- note: 'CADisplayLink' has been explicitly marked unavailable here
 22 | {
 23 | @private
/Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift:21:11: error: 'UIScrollView' is unavailable in watchOS
 19 | }
 20 |
 21 | extension UIScrollView {
    |           `- error: 'UIScrollView' is unavailable in watchOS
 22 | 	// self sizing cells + scrollToRow/ItemAtIndexPath isn't worked great in UIKit.
 23 | 	// This class works around that by doing our own scrolling:
/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/ScrollViewScroller.swift:227:23: error: 'UIScrollView' is unavailable in watchOS
225 | }
226 |
227 | fileprivate extension UIScrollView.Scroller {
    |                       `- error: 'UIScrollView' is unavailable in watchOS
228 | 	// for each change in target, we create a target
229 | 	// that we animate independently
/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/ScrollViewScroller.swift:267:66: error: 'UIScrollView' is unavailable in watchOS
265 | 		public typealias CompletionHandler = (ViewType, _ hasCompleted: Bool) -> Void
266 |
267 | 		static func wrapped(_ handler: CompletionHandler?) -> Callback<UIScrollView>.CompletionHandler? {
    |                                                                  `- error: 'UIScrollView' is unavailable in watchOS
268 | 			guard let handler = handler else { return nil }
269 | 			return { scrollView, hasCompleted in
/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/ScrollViewScroller.swift:264:26: error: 'UIScrollView' is unavailable in watchOS
262 |
263 | public extension UIScrollView.Scroller {
264 | 	enum Callback<ViewType: UIScrollView> {
    |                          `- error: 'UIScrollView' is unavailable in watchOS
265 | 		public typealias CompletionHandler = (ViewType, _ hasCompleted: Bool) -> Void
266 |
/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/ScrollViewScroller.swift:263:18: error: 'UIScrollView' is unavailable in watchOS
261 | }
262 |
263 | public extension UIScrollView.Scroller {
    |                  `- error: 'UIScrollView' is unavailable in watchOS
264 | 	enum Callback<ViewType: UIScrollView> {
265 | 		public typealias CompletionHandler = (ViewType, _ hasCompleted: Bool) -> Void
/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/TableViewScrollOffsetProvider.swift:15:30: error: 'UITableView' is unavailable in watchOS
13 | 	// in the tableview to a certain ScrollPosition.
14 | 	public struct ScrollOffsetProvider: ScrollOffsetProviderProtocol {
15 | 		public weak var tableView: UITableView?
   |                              `- error: 'UITableView' is unavailable in watchOS
16 | 		public var indexPath: IndexPath
17 | 		public var position: UITableView.ScrollPosition
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:17:24: error: 'UITableView' is unavailable in watchOS
15 | 		public weak var tableView: UITableView?
16 | 		public var indexPath: IndexPath
17 | 		public var position: UITableView.ScrollPosition
   |                        `- error: 'UITableView' is unavailable in watchOS
18 | 		public var positionInsets: UIEdgeInsets = .zero
19 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:10:11: error: 'UITableView' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | extension UITableView {
   |           `- error: 'UITableView' is unavailable in watchOS
11 |
12 | 	// A scroll provider that scrolls to an 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/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:39:21: error: 'UITableView' is unavailable in watchOS
37 | 	// helper function to make a Scroller scroll to an index path in a tableview
38 | 	public func scrollToRow(at indexPath: IndexPath,
39 | 					 in tableView: UITableView,
   |                     `- error: 'UITableView' is unavailable in watchOS
40 | 					 position: UITableView.ScrollPosition,
41 | 					 positionInsets: UIEdgeInsets = .zero,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:40:17: error: 'UITableView' is unavailable in watchOS
38 | 	public func scrollToRow(at indexPath: IndexPath,
39 | 					 in tableView: UITableView,
40 | 					 position: UITableView.ScrollPosition,
   |                 `- error: 'UITableView' is unavailable in watchOS
41 | 					 positionInsets: UIEdgeInsets = .zero,
42 | 					 animated: Bool,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:43:28: error: 'UITableView' is unavailable in watchOS
41 | 					 positionInsets: UIEdgeInsets = .zero,
42 | 					 animated: Bool,
43 | 					 completion: Callback<UITableView>.CompletionHandler? = nil) {
   |                            `- error: 'UITableView' is unavailable in watchOS
44 | 		let provider = UITableView.ScrollOffsetProvider(tableView: tableView, indexPath: indexPath, position: position, positionInsets: positionInsets)
45 | 		startScrolling(with: provider, in: tableView, animated: animated, completion: Callback<UITableView>.wrapped(completion))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
/Users/admin/builder/spi-builder-workspace/Sources/TableViewScrollOffsetProvider.swift:36:11: error: 'UIScrollView' is unavailable in watchOS
34 | }
35 |
36 | extension UIScrollView.Scroller {
   |           `- error: 'UIScrollView' is unavailable in watchOS
37 | 	// helper function to make a Scroller scroll to an index path in a tableview
38 | 	public func scrollToRow(at 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/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/TableViewScrollOffsetProvider.swift:51:36: error: 'UIScrollView' is unavailable in watchOS
49 | // helper to convert from UITableView.ScrollPosition to our scroll position enum
50 | fileprivate extension UITableView.ScrollPosition {
51 | 	var scrollOffsetProviderPosition: UIScrollView.ScrollOffsetProvider.Position {
   |                                    `- error: 'UIScrollView' is unavailable in watchOS
52 | 		switch self {
53 | 			case .none: return .visible
/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/TableViewScrollOffsetProvider.swift:50:23: error: 'UITableView' is unavailable in watchOS
48 |
49 | // helper to convert from UITableView.ScrollPosition to our scroll position enum
50 | fileprivate extension UITableView.ScrollPosition {
   |                       `- error: 'UITableView' is unavailable in watchOS
51 | 	var scrollOffsetProviderPosition: UIScrollView.ScrollOffsetProvider.Position {
52 | 		switch self {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:347:12: note: 'UITableView' has been explicitly marked unavailable here
345 |
346 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
347 | @interface UITableView : UIScrollView <NSCoding, UIDataSourceTranslating>
    |            `- note: 'UITableView' has been explicitly marked unavailable here
348 |
349 | - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style NS_DESIGNATED_INITIALIZER; // must specify style at creation. -initWithFrame: calls this with UITableViewStylePlain
SwiftCompile normal arm64 (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ CollectionViewScrollOffsetProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/CollectionViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
/Users/admin/builder/spi-builder-workspace/Sources/CollectionViewScrollOffsetProvider.swift:14:35: error: 'UICollectionView' is unavailable in watchOS
12 | 	// in a collectionview at the given position.
13 | 	public struct ScrollOffsetProvider: ScrollOffsetProviderProtocol {
14 | 		public weak var collectionView: UICollectionView?
   |                                   `- error: 'UICollectionView' is unavailable in watchOS
15 | 		public var indexPath: IndexPath
16 | 		public var position: UICollectionView.ScrollPosition
/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/CollectionViewScrollOffsetProvider.swift:16:24: error: 'UICollectionView' is unavailable in watchOS
14 | 		public weak var collectionView: UICollectionView?
15 | 		public var indexPath: IndexPath
16 | 		public var position: UICollectionView.ScrollPosition
   |                        `- error: 'UICollectionView' is unavailable in watchOS
17 | 		public var positionInsets: UIEdgeInsets = .zero
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/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/CollectionViewScrollOffsetProvider.swift:10:11: error: 'UICollectionView' is unavailable in watchOS
 8 | import UIKit
 9 |
10 | extension UICollectionView {
   |           `- error: 'UICollectionView' is unavailable in watchOS
11 | 	// An offset provider that scrolls to an IndexPath
12 | 	// in a collectionview at the given position.
/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/CollectionViewScrollOffsetProvider.swift:40:27: error: 'UICollectionView' is unavailable in watchOS
38 | 	// helper function to make a Scroller scroll to an index path in a collectionview
39 | 	public func scrollToItem(at indexPath: IndexPath,
40 | 					  in collectionView: UICollectionView,
   |                           `- error: 'UICollectionView' is unavailable in watchOS
41 | 					  position: UICollectionView.ScrollPosition,
42 | 					  positionInsets: UIEdgeInsets = .zero,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/CollectionViewScrollOffsetProvider.swift:41:18: error: 'UICollectionView' is unavailable in watchOS
39 | 	public func scrollToItem(at indexPath: IndexPath,
40 | 					  in collectionView: UICollectionView,
41 | 					  position: UICollectionView.ScrollPosition,
   |                  `- error: 'UICollectionView' is unavailable in watchOS
42 | 					  positionInsets: UIEdgeInsets = .zero,
43 | 					  animated: Bool,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/CollectionViewScrollOffsetProvider.swift:44:29: error: 'UICollectionView' is unavailable in watchOS
42 | 					  positionInsets: UIEdgeInsets = .zero,
43 | 					  animated: Bool,
44 | 					  completion: Callback<UICollectionView>.CompletionHandler? = nil) {
   |                             `- error: 'UICollectionView' is unavailable in watchOS
45 | 		let provider = UICollectionView.ScrollOffsetProvider(collectionView: collectionView, indexPath: indexPath, position: position, positionInsets: positionInsets)
46 | 		startScrolling(with: provider, in: collectionView, animated: animated, completion: Callback<UICollectionView>.wrapped(completion))
/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/CollectionViewScrollOffsetProvider.swift:37:11: error: 'UIScrollView' is unavailable in watchOS
35 | }
36 |
37 | extension UIScrollView.Scroller {
   |           `- error: 'UIScrollView' is unavailable in watchOS
38 | 	// helper function to make a Scroller scroll to an index path in a collectionview
39 | 	public func scrollToItem(at 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/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/CollectionViewScrollOffsetProvider.swift:52:46: error: 'UIScrollView' is unavailable in watchOS
50 | // maps from UICollectionView.ScrollPosition to our scroll positions
51 | fileprivate extension UICollectionView.ScrollPosition {
52 | 	var scrollOffsetProviderHorizontalPosition: UIScrollView.ScrollOffsetProvider.Position {
   |                                              `- error: 'UIScrollView' is unavailable in watchOS
53 | 		if contains(.left) {
54 | 			return .start
/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/CollectionViewScrollOffsetProvider.swift:64:44: error: 'UIScrollView' is unavailable in watchOS
62 | 	}
63 |
64 | 	var scrollOffsetProviderVerticalPosition: UIScrollView.ScrollOffsetProvider.Position {
   |                                            `- error: 'UIScrollView' is unavailable in watchOS
65 | 		if contains(.top) {
66 | 			return .start
/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/CollectionViewScrollOffsetProvider.swift:51:23: error: 'UICollectionView' is unavailable in watchOS
49 |
50 | // maps from UICollectionView.ScrollPosition to our scroll positions
51 | fileprivate extension UICollectionView.ScrollPosition {
   |                       `- error: 'UICollectionView' is unavailable in watchOS
52 | 	var scrollOffsetProviderHorizontalPosition: UIScrollView.ScrollOffsetProvider.Position {
53 | 		if contains(.left) {
/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/CollectionViewScrollOffsetProvider.swift:27:11: error: 'UIScrollView' is unavailable in watchOS
25 | 			// TODO: Compositional Layout scrolling is not taking orthogonal scrolling into account, figure out how
26 |
27 | 			return UIScrollView.ScrollOffsetProvider.targetScrollOffset(withStartOffset: startOffset,
   |           `- error: 'UIScrollView' is unavailable in watchOS
28 | 																		for: itemFrame,
29 | 																		horizontalPosition: position.scrollOffsetProviderHorizontalPosition,
/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/CollectionViewScrollOffsetProvider.swift:45:18: error: 'UICollectionView' is unavailable in watchOS
43 | 					  animated: Bool,
44 | 					  completion: Callback<UICollectionView>.CompletionHandler? = nil) {
45 | 		let provider = UICollectionView.ScrollOffsetProvider(collectionView: collectionView, indexPath: indexPath, position: position, positionInsets: positionInsets)
   |                  `- error: 'UICollectionView' is unavailable in watchOS
46 | 		startScrolling(with: provider, in: collectionView, animated: animated, completion: Callback<UICollectionView>.wrapped(completion))
47 | 	}
/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;
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CollectionViewScrollOffsetProvider.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CollectionViewScrollOffsetProvider.swift
SwiftCompile normal arm64 Compiling\ ScrollViewScroller.swift /Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/ScrollViewScroller.swift (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ScrollViewScroller.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-09-18 03:42:37.834 xcodebuild[789:4751] [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 'SelfSizingScroller' from project 'SelfSizingScroller')
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ SelfSizingScroller (in target 'SelfSizingScroller' from project 'SelfSizingScroller')
	Building workspace SelfSizingScroller with scheme SelfSizingScroller
(3 failures)
BUILD FAILURE 6.4 watchOS