Build Information
Failed to build ShakeFeedbackKit, reference v1.1.0 (c46efb), with Swift 6.4 for watchOS using Xcode 27.0 on 22 Sep 2026 18:56:12 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 ShakeFeedbackKit -destination generic/platform=watchOSBuild Log
64 | // MARK: - Main Feedback View Controller
65 |
66 | class FeedbackViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
67 | private let screenshot: UIImage
68 | private let onSubmit: (UIImage, String) -> 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:256:28: error: 'UIImageView' is unavailable in watchOS
254 | private let existingAnnotations: [AnnotationData]?
255 |
256 | private var imageView: UIImageView!
| `- error: 'UIImageView' is unavailable in watchOS
257 | private var drawingView: SimpleDrawingView!
258 | private var toolsStackView: UIStackView!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:258:33: error: 'UIStackView' is unavailable in watchOS
256 | private var imageView: UIImageView!
257 | private var drawingView: SimpleDrawingView!
258 | private var toolsStackView: UIStackView!
| `- error: 'UIStackView' is unavailable in watchOS
259 |
260 | init(image: UIImage, existingAnnotations: [AnnotationData]? = nil, onComplete: @escaping (UIImage, [(path: UIBezierPath, color: UIColor, width: CGFloat)]) -> 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/UIStackView.h:124:12: note: 'UIStackView' has been explicitly marked unavailable here
122 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
123 | UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
124 | @interface UIStackView : UIView
| `- note: 'UIStackView' has been explicitly marked unavailable here
125 |
126 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:357:69: error: 'UIButton' is unavailable in watchOS
355 | }
356 |
357 | private func createToolButton(title: String, color: UIColor) -> UIButton {
| `- error: 'UIButton' is unavailable in watchOS
358 | let button = UIButton(type: .system)
359 | button.setTitle(title, for: .normal)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:390:52: error: 'UIButton' is unavailable in watchOS
388 | }
389 |
390 | @objc private func colorButtonTapped(_ sender: UIButton) {
| `- error: 'UIButton' is unavailable in watchOS
391 | switch sender.titleLabel?.text {
392 | case "🔴":
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:251:33: error: 'UIViewController' is unavailable in watchOS
249 | // MARK: - Simple Annotation View Controller
250 |
251 | class AnnotationViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
252 | private let originalImage: UIImage
253 | private let onComplete: (UIImage, [(path: UIBezierPath, color: UIColor, width: CGFloat)]) -> 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:527:42: error: 'systemRed' is unavailable in watchOS
525 | private var currentPath: UIBezierPath?
526 | private var currentStroke: [CGPoint] = []
527 | private var currentColor: UIColor = .systemRed
| `- error: 'systemRed' is unavailable in watchOS
528 | private var currentWidth: CGFloat = 4.0
529 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:121:49: note: 'systemRed' has been explicitly marked unavailable here
119 | * Do not make assumptions about the color spaces or actual colors used.
120 | */
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemRed' has been explicitly marked unavailable here
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:628:47: error: 'UITouch' is unavailable in watchOS
626 | }
627 |
628 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
629 | guard let touch = touches.first else { return }
630 | let point = touch.location(in: 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/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:628:69: error: 'UIEvent' is unavailable in watchOS
626 | }
627 |
628 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
629 | guard let touch = touches.first else { return }
630 | let point = touch.location(in: 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/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:636:47: error: 'UITouch' is unavailable in watchOS
634 | }
635 |
636 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
637 | guard let touch = touches.first, let path = currentPath else { return }
638 | let point = touch.location(in: 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/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:636:69: error: 'UIEvent' is unavailable in watchOS
634 | }
635 |
636 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
637 | guard let touch = touches.first, let path = currentPath else { return }
638 | let point = touch.location(in: 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/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:650:47: error: 'UITouch' is unavailable in watchOS
648 | }
649 |
650 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
651 | guard let path = currentPath else { return }
652 | paths.append((path: path, color: currentColor, width: currentWidth))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:650:69: error: 'UIEvent' is unavailable in watchOS
648 | }
649 |
650 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
651 | guard let path = currentPath else { return }
652 | paths.append((path: path, color: currentColor, width: currentWidth))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:522:26: error: 'UIView' is unavailable in watchOS
520 | // MARK: - Simple Drawing View
521 |
522 | class SimpleDrawingView: UIView {
| `- error: 'UIView' is unavailable in watchOS
523 | private var paths: [(path: UIBezierPath, color: UIColor, width: CGFloat)] = []
524 | private var rawStrokes: [(points: [CGPoint], color: UIColor, width: CGFloat)] = []
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:735:46: error: 'UITextView' is unavailable in watchOS
733 |
734 | extension FeedbackViewController: UITextViewDelegate {
735 | func textViewDidBeginEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
736 | if textView.textColor == .placeholderText {
737 | textView.text = ""
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:742:44: error: 'UITextView' is unavailable in watchOS
740 | }
741 |
742 | func textViewDidEndEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
743 | if textView.text.isEmpty {
744 | textView.text = "Describe the issue you encountered..."
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:751:40: error: 'UITextView' is unavailable in watchOS
749 | }
750 |
751 | func textViewDidChange(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
752 | if textView.textColor != .placeholderText {
753 | feedbackText = textView.text
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:734:35: error: 'UITextViewDelegate' is unavailable in watchOS
732 | // MARK: - UITextView Delegate
733 |
734 | extension FeedbackViewController: UITextViewDelegate {
| `- error: 'UITextViewDelegate' is unavailable in watchOS
735 | func textViewDidBeginEditing(_ textView: UITextView) {
736 | if textView.textColor == .placeholderText {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:36:11: note: 'UITextViewDelegate' has been explicitly marked unavailable here
34 |
35 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
36 | @protocol UITextViewDelegate <NSObject, UIScrollViewDelegate>
| `- note: 'UITextViewDelegate' has been explicitly marked unavailable here
37 |
38 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:7:12: warning: 'public' modifier is redundant for static property declared in a public extension
5 | // Define the notification name for shake gestures
6 | public extension Notification.Name {
7 | static public let deviceDidShake = Notification.Name("deviceDidShakeNotification")
| `- warning: 'public' modifier is redundant for static property declared in a public extension
8 | }
9 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:11:11: error: 'UIWindow' is unavailable in watchOS
9 |
10 | // Add shake detection at window level
11 | extension UIWindow {
| `- error: 'UIWindow' is unavailable in watchOS
12 | // No custom code here
13 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:80:41: error: 'UIEvent' is unavailable in watchOS
78 | }
79 |
80 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
81 | super.motionEnded(motion, with: event)
82 | if motion == .motionShake {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:80:75: error: 'UIEvent' is unavailable in watchOS
78 | }
79 |
80 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
81 | super.motionEnded(motion, with: event)
82 | if motion == .motionShake {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:38:28: error: 'UIViewController' is unavailable in watchOS
36 |
37 | @MainActor
38 | class ShakeViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
39 | var onShake: (() -> Void)?
40 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:107:41: error: 'UIEvent' is unavailable in watchOS
105 | }
106 |
107 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
108 | if motion == .motionShake {
109 | print("ShakeFeedbackKit: Shake detected")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:107:75: error: 'UIEvent' is unavailable in watchOS
105 | }
106 |
107 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
108 | if motion == .motionShake {
109 | print("ShakeFeedbackKit: Shake detected")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:91:37: error: 'UIViewController' is unavailable in watchOS
89 |
90 | // Simple view controller that becomes first responder to detect shakes
91 | class ShakeDetectionViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
92 | override func viewDidLoad() {
93 | super.viewDidLoad()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:195:56: error: 'UIWindow' is unavailable in watchOS
193 |
194 | @MainActor
195 | private static func captureScreenshot(from window: UIWindow) -> UIImage {
| `- error: 'UIWindow' is unavailable in watchOS
196 | UIGraphicsBeginImageContextWithOptions(window.bounds.size, false, UIScreen.main.scale)
197 | window.drawHierarchy(in: window.bounds, afterScreenUpdates: true)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:204:46: error: 'UIWindow' is unavailable in watchOS
202 |
203 | @MainActor
204 | private static func showToast(in window: UIWindow, text: String, color: UIColor) {
| `- error: 'UIWindow' is unavailable in watchOS
205 | let label = UILabel()
206 | label.backgroundColor = color
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:232:72: error: 'UIViewController' is unavailable in watchOS
230 | // Find the topmost presented view controller
231 | @MainActor
232 | private static func findTopmostViewController(from viewController: UIViewController) -> UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
233 | // If the view controller is presenting something, return the presented view controller
234 | if let presentedViewController = viewController.presentedViewController {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:232:93: error: 'UIViewController' is unavailable in watchOS
230 | // Find the topmost presented view controller
231 | @MainActor
232 | private static func findTopmostViewController(from viewController: UIViewController) -> UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
233 | // If the view controller is presenting something, return the presented view controller
234 | if let presentedViewController = viewController.presentedViewController {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:4:11: error: 'UIView' is unavailable in watchOS
2 |
3 | @MainActor
4 | extension UIView {
| `- error: 'UIView' is unavailable in watchOS
5 | /// Captures a snapshot of the view as UIImage
6 | func snapshotImage() -> UIImage {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:15:11: error: 'UIWindow' is unavailable in watchOS
13 |
14 | @MainActor
15 | extension UIWindow {
| `- error: 'UIWindow' is unavailable in watchOS
16 | /// Shows a temporary toast message at the bottom center of the window
17 | func showShakeToast(text: String, color: UIColor) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
Failed frontend command:
SwiftCompile normal arm64_32 (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/DerivedSources/resource_bundle_accessor.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeEventObserver.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeWindow.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift -target arm64_32-apple-watchos9.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/Objects-normal/arm64_32/ShakeFeedbackKit-dependencies-2.json -enable-objc-interop -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_AVAILABLE -D DEBUG -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name ShakeFeedbackKit -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/Objects-normal/arm64_32/ShakeFeedbackKit_const_extract_protocols.json -disable-clang-spi -clang-target arm64_32-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/Objects-normal/arm64_32/ShakeFeedbackKit.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/Objects-normal/arm64_32/ShakeFeedbackKit.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/Objects-normal/arm64_32/ShakeFeedbackKit-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/Objects-normal/arm64_32/ShakeFeedbackKit-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/Objects-normal/arm64_32/ShakeFeedbackKit-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/Objects-normal/arm64_32/ShakeFeedbackKit.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/Objects-normal/arm64_32/ShakeFeedbackKit.abi.json
SwiftCompile normal arm64_32 Compiling\ ShakeEventObserver.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeEventObserver.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeEventObserver.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ShakeEventObserver.swift
SwiftCompile normal arm64_32 Compiling\ JiraClient.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile JiraClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift:74:13: warning: initialization of immutable value 'dateStr' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
72 | dateFormatter.dateStyle = .medium
73 | dateFormatter.timeStyle = .medium
74 | let dateStr = dateFormatter.string(from: Date())
| `- warning: initialization of immutable value 'dateStr' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
75 |
76 | // Get unique report ID
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift:80:13: warning: initialization of immutable value 'reportIdString' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
78 |
79 | // Format description as markdown instead of ADF
80 | let reportIdString = String(reportId)
| `- warning: initialization of immutable value 'reportIdString' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
81 |
82 | // Extract OS version for summary
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift:86:13: warning: initialization of immutable value 'appName' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
84 |
85 | // Extract app details needed for the template
86 | let appName = deviceMetadata["App Name"] ?? "Unknown"
| `- warning: initialization of immutable value 'appName' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
87 | let appVersion = deviceMetadata["App Version"] ?? "Unknown"
88 | let buildNumber = deviceMetadata["Build"] ?? "Unknown"
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift:87:13: warning: initialization of immutable value 'appVersion' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
85 | // Extract app details needed for the template
86 | let appName = deviceMetadata["App Name"] ?? "Unknown"
87 | let appVersion = deviceMetadata["App Version"] ?? "Unknown"
| `- warning: initialization of immutable value 'appVersion' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
88 | let buildNumber = deviceMetadata["Build"] ?? "Unknown"
89 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift:93:13: warning: initialization of immutable value 'freeMemory' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
91 | let deviceModel = deviceMetadata["Device Model"] ?? "Unknown"
92 | let batteryStatus = await getBatteryStatus()
93 | let freeMemory = await getSystemFreeMemory()
| `- warning: initialization of immutable value 'freeMemory' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
94 | let freeDisk = await getFreeDiskSpace()
95 | let localeName = Locale.current.identifier
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift:97:13: warning: initialization of immutable value 'uptimeMinutes' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
95 | let localeName = Locale.current.identifier
96 | let timeZone = TimeZone.current.identifier.replacingOccurrences(of: "_", with: "/")
97 | let uptimeMinutes = Int(ProcessInfo.processInfo.systemUptime / 60)
| `- warning: initialization of immutable value 'uptimeMinutes' was never used; consider replacing with assignment to '_' or removing it [#NoUsage]
98 |
99 | // Format date in UTC
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift:296:26: error: 'UIDevice' is unavailable in watchOS
294 | private func buildDeviceMetadata() async -> [String: String] {
295 | await MainActor.run {
296 | let device = UIDevice.current
| `- error: 'UIDevice' is unavailable in watchOS
297 | let bundle = Bundle.main
298 | let processInfo = ProcessInfo.processInfo
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:35:12: note: 'UIDevice' has been explicitly marked unavailable here
33 |
34 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
35 | @interface UIDevice : NSObject
| `- note: 'UIDevice' has been explicitly marked unavailable here
36 |
37 | @property(class, nonatomic, readonly) UIDevice *currentDevice;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift:321:13: error: 'UIDevice' is unavailable in watchOS
319 | private func getBatteryStatus() async -> String {
320 | return await MainActor.run {
321 | UIDevice.current.isBatteryMonitoringEnabled = true
| `- error: 'UIDevice' is unavailable in watchOS
322 | let level = UIDevice.current.batteryLevel
323 | let state = UIDevice.current.batteryState
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:35:12: note: 'UIDevice' has been explicitly marked unavailable here
33 |
34 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
35 | @interface UIDevice : NSObject
| `- note: 'UIDevice' has been explicitly marked unavailable here
36 |
37 | @property(class, nonatomic, readonly) UIDevice *currentDevice;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift:322:25: error: 'UIDevice' is unavailable in watchOS
320 | return await MainActor.run {
321 | UIDevice.current.isBatteryMonitoringEnabled = true
322 | let level = UIDevice.current.batteryLevel
| `- error: 'UIDevice' is unavailable in watchOS
323 | let state = UIDevice.current.batteryState
324 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:35:12: note: 'UIDevice' has been explicitly marked unavailable here
33 |
34 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
35 | @interface UIDevice : NSObject
| `- note: 'UIDevice' has been explicitly marked unavailable here
36 |
37 | @property(class, nonatomic, readonly) UIDevice *currentDevice;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/JiraClient.swift:323:25: error: 'UIDevice' is unavailable in watchOS
321 | UIDevice.current.isBatteryMonitoringEnabled = true
322 | let level = UIDevice.current.batteryLevel
323 | let state = UIDevice.current.batteryState
| `- error: 'UIDevice' is unavailable in watchOS
324 |
325 | let levelString = level < 0 ? "Unknown" : "\(Int(level * 100)) %"
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:35:12: note: 'UIDevice' has been explicitly marked unavailable here
33 |
34 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
35 | @interface UIDevice : NSObject
| `- note: 'UIDevice' has been explicitly marked unavailable here
36 |
37 | @property(class, nonatomic, readonly) UIDevice *currentDevice;
SwiftCompile normal arm64_32 Compiling\ ShakeFeedback.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:7:12: warning: 'public' modifier is redundant for static property declared in a public extension
5 | // Define the notification name for shake gestures
6 | public extension Notification.Name {
7 | static public let deviceDidShake = Notification.Name("deviceDidShakeNotification")
| `- warning: 'public' modifier is redundant for static property declared in a public extension
8 | }
9 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:11:11: error: 'UIWindow' is unavailable in watchOS
9 |
10 | // Add shake detection at window level
11 | extension UIWindow {
| `- error: 'UIWindow' is unavailable in watchOS
12 | // No custom code here
13 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:80:41: error: 'UIEvent' is unavailable in watchOS
78 | }
79 |
80 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
81 | super.motionEnded(motion, with: event)
82 | if motion == .motionShake {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:80:75: error: 'UIEvent' is unavailable in watchOS
78 | }
79 |
80 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
81 | super.motionEnded(motion, with: event)
82 | if motion == .motionShake {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:38:28: error: 'UIViewController' is unavailable in watchOS
36 |
37 | @MainActor
38 | class ShakeViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
39 | var onShake: (() -> Void)?
40 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:107:41: error: 'UIEvent' is unavailable in watchOS
105 | }
106 |
107 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
108 | if motion == .motionShake {
109 | print("ShakeFeedbackKit: Shake detected")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:107:75: error: 'UIEvent' is unavailable in watchOS
105 | }
106 |
107 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
108 | if motion == .motionShake {
109 | print("ShakeFeedbackKit: Shake detected")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:91:37: error: 'UIViewController' is unavailable in watchOS
89 |
90 | // Simple view controller that becomes first responder to detect shakes
91 | class ShakeDetectionViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
92 | override func viewDidLoad() {
93 | super.viewDidLoad()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:195:56: error: 'UIWindow' is unavailable in watchOS
193 |
194 | @MainActor
195 | private static func captureScreenshot(from window: UIWindow) -> UIImage {
| `- error: 'UIWindow' is unavailable in watchOS
196 | UIGraphicsBeginImageContextWithOptions(window.bounds.size, false, UIScreen.main.scale)
197 | window.drawHierarchy(in: window.bounds, afterScreenUpdates: true)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:204:46: error: 'UIWindow' is unavailable in watchOS
202 |
203 | @MainActor
204 | private static func showToast(in window: UIWindow, text: String, color: UIColor) {
| `- error: 'UIWindow' is unavailable in watchOS
205 | let label = UILabel()
206 | label.backgroundColor = color
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:232:72: error: 'UIViewController' is unavailable in watchOS
230 | // Find the topmost presented view controller
231 | @MainActor
232 | private static func findTopmostViewController(from viewController: UIViewController) -> UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
233 | // If the view controller is presenting something, return the presented view controller
234 | if let presentedViewController = viewController.presentedViewController {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:232:93: error: 'UIViewController' is unavailable in watchOS
230 | // Find the topmost presented view controller
231 | @MainActor
232 | private static func findTopmostViewController(from viewController: UIViewController) -> UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
233 | // If the view controller is presenting something, return the presented view controller
234 | if let presentedViewController = viewController.presentedViewController {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:53:16: error: 'UIView' is unavailable in watchOS
51 | private func setup() {
52 | // Create a minimal view
53 | view = UIView(frame: .zero)
| `- error: 'UIView' is unavailable in watchOS
54 | view.isHidden = true
55 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:60:29: error: 'UIApplication' is unavailable in watchOS
58 | guard let self = self else { return }
59 |
60 | if let window = UIApplication.shared.windows.first,
| `- error: 'UIApplication' is unavailable in watchOS
61 | let rootVC = window.rootViewController {
62 | rootVC.addChild(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/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
83 |
84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
85 | @interface UIApplication : UIResponder
| `- note: 'UIApplication' has been explicitly marked unavailable here
86 |
87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:60:50: error: 'windows' is unavailable in watchOS
58 | guard let self = self else { return }
59 |
60 | if let window = UIApplication.shared.windows.first,
| `- error: 'windows' is unavailable in watchOS
61 | let rootVC = window.rootViewController {
62 | rootVC.addChild(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/UIApplication.h:109:62: note: 'windows' has been explicitly marked unavailable here
107 |
108 | @property(nullable, nonatomic,readonly) UIWindow *keyWindow API_DEPRECATED("Should not be used for applications that support multiple scenes as it returns a key window across all connected scenes", ios(2.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
109 | @property(nonatomic,readonly) NSArray<__kindof UIWindow *> *windows API_DEPRECATED("Use UIWindowScene.windows on a relevant window scene instead", ios(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
| `- note: 'windows' has been explicitly marked unavailable here
110 |
111 | - (BOOL)sendAction:(SEL)action to:(nullable id)target from:(nullable id)sender forEvent:(nullable UIEvent *)event;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:154:33: error: 'UIApplication' is unavailable in watchOS
152 | private static func handleShake() {
153 | guard let jiraClient = jiraClient,
154 | let windowScene = UIApplication.shared.connectedScenes.compactMap({ $0 as? UIWindowScene }).first,
| `- error: 'UIApplication' is unavailable in watchOS
155 | let window = windowScene.windows.first,
156 | let rootViewController = window.rootViewController else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
83 |
84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
85 | @interface UIApplication : UIResponder
| `- note: 'UIApplication' has been explicitly marked unavailable here
86 |
87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:154:54: error: 'connectedScenes' is unavailable in watchOS
152 | private static func handleShake() {
153 | guard let jiraClient = jiraClient,
154 | let windowScene = UIApplication.shared.connectedScenes.compactMap({ $0 as? UIWindowScene }).first,
| `- error: 'connectedScenes' is unavailable in watchOS
155 | let window = windowScene.windows.first,
156 | let rootViewController = window.rootViewController else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:189:50: note: 'connectedScenes' has been explicitly marked unavailable here
187 | #pragma mark -- UIScene --
188 | // All of the currently connected UIScene instances
189 | @property(nonatomic, readonly) NSSet<UIScene *> *connectedScenes API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
| `- note: 'connectedScenes' has been explicitly marked unavailable here
190 |
191 | // All of the representations that currently have connected UIScene instances or had their sessions persisted by the system (ex: visible in iOS' switcher)
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:154:90: error: 'UIWindowScene' is unavailable in watchOS
152 | private static func handleShake() {
153 | guard let jiraClient = jiraClient,
154 | let windowScene = UIApplication.shared.connectedScenes.compactMap({ $0 as? UIWindowScene }).first,
| `- error: 'UIWindowScene' is unavailable in watchOS
155 | let window = windowScene.windows.first,
156 | let rootViewController = window.rootViewController else {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScene.h:22:12: note: 'UIWindowScene' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindowScene : UIScene
| `- note: 'UIWindowScene' has been explicitly marked unavailable here
23 |
24 | #pragma mark Geometry
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:170:84: error: 'systemGreen' is unavailable in watchOS
168 | let issueKey = try await jiraClient.send(image: image, note: note)
169 | await MainActor.run {
170 | showToast(in: window, text: "Sent to Jira ✔︎", color: .systemGreen)
| `- error: 'systemGreen' is unavailable in watchOS
171 | print("ShakeFeedbackKit: Created issue \(issueKey)")
172 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:122:49: note: 'systemGreen' has been explicitly marked unavailable here
120 | */
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemGreen' has been explicitly marked unavailable here
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
124 | @property (class, nonatomic, readonly) UIColor *systemOrangeColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:175:79: error: 'systemRed' is unavailable in watchOS
173 | } catch {
174 | await MainActor.run {
175 | showToast(in: window, text: "Failed to send", color: .systemRed)
| `- error: 'systemRed' is unavailable in watchOS
176 | print("ShakeFeedbackKit: Failed to send - \(error)")
177 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:121:49: note: 'systemRed' has been explicitly marked unavailable here
119 | * Do not make assumptions about the color spaces or actual colors used.
120 | */
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemRed' has been explicitly marked unavailable here
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:183:33: error: cannot find 'UIHostingController' in scope
181 |
182 | // Present the feedback UI over the current view hierarchy
183 | let hostingController = UIHostingController(rootView: composer)
| `- error: cannot find 'UIHostingController' in scope
184 | let navController = UINavigationController(rootViewController: hostingController)
185 | navController.modalPresentationStyle = .fullScreen
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:185:49: error: cannot infer contextual base in reference to member 'fullScreen'
183 | let hostingController = UIHostingController(rootView: composer)
184 | let navController = UINavigationController(rootViewController: hostingController)
185 | navController.modalPresentationStyle = .fullScreen
| `- error: cannot infer contextual base in reference to member 'fullScreen'
186 |
187 | // Find the topmost view controller to present on
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:196:75: error: 'UIScreen' is unavailable in watchOS
194 | @MainActor
195 | private static func captureScreenshot(from window: UIWindow) -> UIImage {
196 | UIGraphicsBeginImageContextWithOptions(window.bounds.size, false, UIScreen.main.scale)
| `- error: 'UIScreen' is unavailable in watchOS
197 | window.drawHierarchy(in: window.bounds, afterScreenUpdates: true)
198 | let image = UIGraphicsGetImageFromCurrentImageContext()!
/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/ShakeFeedbackKit/ShakeFeedback.swift:196:84: error: 'main' is unavailable in watchOS
194 | @MainActor
195 | private static func captureScreenshot(from window: UIWindow) -> UIImage {
196 | UIGraphicsBeginImageContextWithOptions(window.bounds.size, false, UIScreen.main.scale)
| `- error: 'main' is unavailable in watchOS
197 | window.drawHierarchy(in: window.bounds, afterScreenUpdates: true)
198 | let image = UIGraphicsGetImageFromCurrentImageContext()!
/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/ShakeFeedbackKit/ShakeFeedback.swift:205:21: error: 'UILabel' is unavailable in watchOS
203 | @MainActor
204 | private static func showToast(in window: UIWindow, text: String, color: UIColor) {
205 | let label = UILabel()
| `- error: 'UILabel' is unavailable in watchOS
206 | label.backgroundColor = color
207 | label.textColor = .white
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h:33:12: note: 'UILabel' has been explicitly marked unavailable here
31 |
32 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
33 | @interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
| `- note: 'UILabel' has been explicitly marked unavailable here
34 |
35 | @property(nullable, nonatomic,copy) NSString *text; // default is nil
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ShakeFeedback.swift
SwiftCompile normal arm64_32 Compiling\ FeedbackComposer.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:55:40: error: cannot find type 'Context' in scope
53 | let onSend: (UIImage, String) -> Void
54 |
55 | func makeUIViewController(context: Context) -> UINavigationController {
| `- error: cannot find type 'Context' in scope
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
57 | let navController = UINavigationController(rootViewController: feedbackVC)
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:55:52: error: 'UINavigationController' is unavailable in watchOS
53 | let onSend: (UIImage, String) -> Void
54 |
55 | func makeUIViewController(context: Context) -> UINavigationController {
| `- error: 'UINavigationController' is unavailable in watchOS
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
57 | let navController = UINavigationController(rootViewController: feedbackVC)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UINavigationController : UIViewController
| `- note: 'UINavigationController' has been explicitly marked unavailable here
47 |
48 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:61:86: error: cannot find type 'Context' in scope
59 | }
60 |
61 | func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {}
| `- error: cannot find type 'Context' in scope
62 | }
63 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:61:53: error: 'UINavigationController' is unavailable in watchOS
59 | }
60 |
61 | func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {}
| `- error: 'UINavigationController' is unavailable in watchOS
62 | }
63 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UINavigationController : UIViewController
| `- note: 'UINavigationController' has been explicitly marked unavailable here
47 |
48 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:51:26: error: cannot find type 'UIViewControllerRepresentable' in scope
49 | // MARK: - Simplified Feedback Composer
50 |
51 | struct FeedbackComposer: UIViewControllerRepresentable {
| `- error: cannot find type 'UIViewControllerRepresentable' in scope
52 | let screenshot: UIImage
53 | let onSend: (UIImage, String) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:71:28: error: 'UIImageView' is unavailable in watchOS
69 |
70 | // UI Components
71 | private var imageView: UIImageView!
| `- error: 'UIImageView' is unavailable in watchOS
72 | private var textView: UITextView!
73 | private var annotateButton: UIButton!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:72:27: error: 'UITextView' is unavailable in watchOS
70 | // UI Components
71 | private var imageView: UIImageView!
72 | private var textView: UITextView!
| `- error: 'UITextView' is unavailable in watchOS
73 | private var annotateButton: UIButton!
74 | private var sendButton: UIButton!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:73:33: error: 'UIButton' is unavailable in watchOS
71 | private var imageView: UIImageView!
72 | private var textView: UITextView!
73 | private var annotateButton: UIButton!
| `- error: 'UIButton' is unavailable in watchOS
74 | private var sendButton: UIButton!
75 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:74:29: error: 'UIButton' is unavailable in watchOS
72 | private var textView: UITextView!
73 | private var annotateButton: UIButton!
74 | private var sendButton: UIButton!
| `- error: 'UIButton' is unavailable in watchOS
75 |
76 | // State
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:66:31: error: 'UIViewController' is unavailable in watchOS
64 | // MARK: - Main Feedback View Controller
65 |
66 | class FeedbackViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
67 | private let screenshot: UIImage
68 | private let onSubmit: (UIImage, String) -> 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:256:28: error: 'UIImageView' is unavailable in watchOS
254 | private let existingAnnotations: [AnnotationData]?
255 |
256 | private var imageView: UIImageView!
| `- error: 'UIImageView' is unavailable in watchOS
257 | private var drawingView: SimpleDrawingView!
258 | private var toolsStackView: UIStackView!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:258:33: error: 'UIStackView' is unavailable in watchOS
256 | private var imageView: UIImageView!
257 | private var drawingView: SimpleDrawingView!
258 | private var toolsStackView: UIStackView!
| `- error: 'UIStackView' is unavailable in watchOS
259 |
260 | init(image: UIImage, existingAnnotations: [AnnotationData]? = nil, onComplete: @escaping (UIImage, [(path: UIBezierPath, color: UIColor, width: CGFloat)]) -> 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/UIStackView.h:124:12: note: 'UIStackView' has been explicitly marked unavailable here
122 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
123 | UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
124 | @interface UIStackView : UIView
| `- note: 'UIStackView' has been explicitly marked unavailable here
125 |
126 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:357:69: error: 'UIButton' is unavailable in watchOS
355 | }
356 |
357 | private func createToolButton(title: String, color: UIColor) -> UIButton {
| `- error: 'UIButton' is unavailable in watchOS
358 | let button = UIButton(type: .system)
359 | button.setTitle(title, for: .normal)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:390:52: error: 'UIButton' is unavailable in watchOS
388 | }
389 |
390 | @objc private func colorButtonTapped(_ sender: UIButton) {
| `- error: 'UIButton' is unavailable in watchOS
391 | switch sender.titleLabel?.text {
392 | case "🔴":
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:251:33: error: 'UIViewController' is unavailable in watchOS
249 | // MARK: - Simple Annotation View Controller
250 |
251 | class AnnotationViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
252 | private let originalImage: UIImage
253 | private let onComplete: (UIImage, [(path: UIBezierPath, color: UIColor, width: CGFloat)]) -> 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:527:42: error: 'systemRed' is unavailable in watchOS
525 | private var currentPath: UIBezierPath?
526 | private var currentStroke: [CGPoint] = []
527 | private var currentColor: UIColor = .systemRed
| `- error: 'systemRed' is unavailable in watchOS
528 | private var currentWidth: CGFloat = 4.0
529 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:121:49: note: 'systemRed' has been explicitly marked unavailable here
119 | * Do not make assumptions about the color spaces or actual colors used.
120 | */
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemRed' has been explicitly marked unavailable here
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:628:47: error: 'UITouch' is unavailable in watchOS
626 | }
627 |
628 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
629 | guard let touch = touches.first else { return }
630 | let point = touch.location(in: 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/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:628:69: error: 'UIEvent' is unavailable in watchOS
626 | }
627 |
628 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
629 | guard let touch = touches.first else { return }
630 | let point = touch.location(in: 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/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:636:47: error: 'UITouch' is unavailable in watchOS
634 | }
635 |
636 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
637 | guard let touch = touches.first, let path = currentPath else { return }
638 | let point = touch.location(in: 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/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:636:69: error: 'UIEvent' is unavailable in watchOS
634 | }
635 |
636 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
637 | guard let touch = touches.first, let path = currentPath else { return }
638 | let point = touch.location(in: 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/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:650:47: error: 'UITouch' is unavailable in watchOS
648 | }
649 |
650 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
651 | guard let path = currentPath else { return }
652 | paths.append((path: path, color: currentColor, width: currentWidth))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:650:69: error: 'UIEvent' is unavailable in watchOS
648 | }
649 |
650 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
651 | guard let path = currentPath else { return }
652 | paths.append((path: path, color: currentColor, width: currentWidth))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:522:26: error: 'UIView' is unavailable in watchOS
520 | // MARK: - Simple Drawing View
521 |
522 | class SimpleDrawingView: UIView {
| `- error: 'UIView' is unavailable in watchOS
523 | private var paths: [(path: UIBezierPath, color: UIColor, width: CGFloat)] = []
524 | private var rawStrokes: [(points: [CGPoint], color: UIColor, width: CGFloat)] = []
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:735:46: error: 'UITextView' is unavailable in watchOS
733 |
734 | extension FeedbackViewController: UITextViewDelegate {
735 | func textViewDidBeginEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
736 | if textView.textColor == .placeholderText {
737 | textView.text = ""
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:742:44: error: 'UITextView' is unavailable in watchOS
740 | }
741 |
742 | func textViewDidEndEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
743 | if textView.text.isEmpty {
744 | textView.text = "Describe the issue you encountered..."
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:751:40: error: 'UITextView' is unavailable in watchOS
749 | }
750 |
751 | func textViewDidChange(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
752 | if textView.textColor != .placeholderText {
753 | feedbackText = textView.text
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:734:35: error: 'UITextViewDelegate' is unavailable in watchOS
732 | // MARK: - UITextView Delegate
733 |
734 | extension FeedbackViewController: UITextViewDelegate {
| `- error: 'UITextViewDelegate' is unavailable in watchOS
735 | func textViewDidBeginEditing(_ textView: UITextView) {
736 | if textView.textColor == .placeholderText {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:36:11: note: 'UITextViewDelegate' has been explicitly marked unavailable here
34 |
35 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
36 | @protocol UITextViewDelegate <NSObject, UIScrollViewDelegate>
| `- note: 'UITextViewDelegate' has been explicitly marked unavailable here
37 |
38 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:57:29: error: 'UINavigationController' is unavailable in watchOS
55 | func makeUIViewController(context: Context) -> UINavigationController {
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
57 | let navController = UINavigationController(rootViewController: feedbackVC)
| `- error: 'UINavigationController' is unavailable in watchOS
58 | return navController
59 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UINavigationController : UIViewController
| `- note: 'UINavigationController' has been explicitly marked unavailable here
47 |
48 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:56:26: warning: call to main actor-isolated initializer 'init(screenshot:onSubmit:)' in a synchronous nonisolated context [#ActorIsolatedCall]
53 | let onSend: (UIImage, String) -> Void
54 |
55 | func makeUIViewController(context: Context) -> UINavigationController {
| `- note: add '@MainActor' to make instance method 'makeUIViewController(context:)' part of global actor 'MainActor'
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
| `- warning: call to main actor-isolated initializer 'init(screenshot:onSubmit:)' in a synchronous nonisolated context [#ActorIsolatedCall]
57 | let navController = UINavigationController(rootViewController: feedbackVC)
58 | return navController
:
80 | private let originalScreenshot: UIImage // Keep reference to original
81 |
82 | init(screenshot: UIImage, onSubmit: @escaping (UIImage, String) -> Void) {
| |- note: calls to initializer 'init(screenshot:onSubmit:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'UIViewController'
83 | self.screenshot = screenshot
84 | self.originalScreenshot = screenshot // Store original reference
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:57:29: warning: call to main actor-isolated initializer 'init(rootViewController:)' in a synchronous nonisolated context [#ActorIsolatedCall]
53 | let onSend: (UIImage, String) -> Void
54 |
55 | func makeUIViewController(context: Context) -> UINavigationController {
| `- note: add '@MainActor' to make instance method 'makeUIViewController(context:)' part of global actor 'MainActor'
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
57 | let navController = UINavigationController(rootViewController: feedbackVC)
| `- warning: call to main actor-isolated initializer 'init(rootViewController:)' in a synchronous nonisolated context [#ActorIsolatedCall]
58 | return navController
59 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:55:1: note: calls to initializer 'init(rootViewController:)' from outside of its actor context are implicitly asynchronous
53 | - (instancetype)initWithNavigationBarClass:(nullable Class)navigationBarClass toolbarClass:(nullable Class)toolbarClass NS_DESIGNATED_INITIALIZER API_AVAILABLE(ios(5.0));
54 |
55 | - (instancetype)initWithRootViewController:(UIViewController *)rootViewController NS_DESIGNATED_INITIALIZER; // Initializer that also pushes the root view controller without animation.
| `- note: calls to initializer 'init(rootViewController:)' from outside of its actor context are implicitly asynchronous
56 |
57 | - (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_DESIGNATED_INITIALIZER; // Initializes the navigation controller with an empty stack
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:101:33: error: 'systemBackground' is unavailable in watchOS
99 |
100 | private func setupUI() {
101 | view.backgroundColor = .systemBackground
| `- error: 'systemBackground' is unavailable in watchOS
102 | title = "Report Bug"
103 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:208:49: note: 'systemBackground' has been explicitly marked unavailable here
206 | * primary background in light mode.
207 | */
208 | @property (class, nonatomic, readonly) UIColor *systemBackgroundColor API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
| `- note: 'systemBackground' has been explicitly marked unavailable here
209 | @property (class, nonatomic, readonly) UIColor *secondarySystemBackgroundColor API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
210 | @property (class, nonatomic, readonly) UIColor *tertiarySystemBackgroundColor API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FeedbackComposer.swift
SwiftCompile normal arm64_32 Compiling\ resource_bundle_accessor.swift /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/DerivedSources/resource_bundle_accessor.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/DerivedSources/resource_bundle_accessor.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile resource_bundle_accessor.swift
SwiftCompile normal arm64 Compiling\ resource_bundle_accessor.swift /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/DerivedSources/resource_bundle_accessor.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ShakeFeedbackKit.build/Debug-watchos/ShakeFeedbackKit-t.build/DerivedSources/resource_bundle_accessor.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile resource_bundle_accessor.swift
SwiftCompile normal arm64_32 Compiling\ WindowHelpers.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:4:11: error: 'UIView' is unavailable in watchOS
2 |
3 | @MainActor
4 | extension UIView {
| `- error: 'UIView' is unavailable in watchOS
5 | /// Captures a snapshot of the view as UIImage
6 | func snapshotImage() -> UIImage {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:15:11: error: 'UIWindow' is unavailable in watchOS
13 |
14 | @MainActor
15 | extension UIWindow {
| `- error: 'UIWindow' is unavailable in watchOS
16 | /// Shows a temporary toast message at the bottom center of the window
17 | func showShakeToast(text: String, color: UIColor) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:7:24: error: 'UIGraphicsImageRenderer' is unavailable in watchOS
5 | /// Captures a snapshot of the view as UIImage
6 | func snapshotImage() -> UIImage {
7 | let renderer = UIGraphicsImageRenderer(bounds: bounds)
| `- error: 'UIGraphicsImageRenderer' is unavailable in watchOS
8 | return renderer.image { context in
9 | layer.render(in: context.cgContext)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h:47:12: note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
45 |
46 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
47 | @interface UIGraphicsImageRenderer : UIGraphicsRenderer
| `- note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
48 | - (instancetype)initWithSize:(CGSize)size;
49 | - (instancetype)initWithSize:(CGSize)size format:(UIGraphicsImageRendererFormat *)format NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:18:21: error: 'UILabel' is unavailable in watchOS
16 | /// Shows a temporary toast message at the bottom center of the window
17 | func showShakeToast(text: String, color: UIColor) {
18 | let toast = UILabel()
| `- error: 'UILabel' is unavailable in watchOS
19 | toast.text = text
20 | toast.textColor = .white
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h:33:12: note: 'UILabel' has been explicitly marked unavailable here
31 |
32 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
33 | @interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
| `- note: 'UILabel' has been explicitly marked unavailable here
34 |
35 | @property(nullable, nonatomic,copy) NSString *text; // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:18:21: error: 'init()' is unavailable in watchOS
16 | /// Shows a temporary toast message at the bottom center of the window
17 | func showShakeToast(text: String, color: UIColor) {
18 | let toast = UILabel()
| `- error: 'init()' is unavailable in watchOS
19 | toast.text = text
20 | toast.textColor = .white
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
| `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:32:9: error: 'NSLayoutConstraint' is unavailable in watchOS
30 | addSubview(toast)
31 |
32 | NSLayoutConstraint.activate([
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
33 | toast.centerXAnchor.constraint(equalTo: centerXAnchor),
34 | toast.bottomAnchor.constraint(equalTo: safeAreaLayoutGuide.bottomAnchor, constant: -20),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
| `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string. The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:34:52: error: 'safeAreaLayoutGuide' is unavailable in watchOS
32 | NSLayoutConstraint.activate([
33 | toast.centerXAnchor.constraint(equalTo: centerXAnchor),
34 | toast.bottomAnchor.constraint(equalTo: safeAreaLayoutGuide.bottomAnchor, constant: -20),
| `- error: 'safeAreaLayoutGuide' is unavailable in watchOS
35 | toast.widthAnchor.constraint(lessThanOrEqualTo: widthAnchor, multiplier: 0.8),
36 | toast.heightAnchor.constraint(equalToConstant: 44)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:306:53: note: 'safeAreaLayoutGuide' has been explicitly marked unavailable here
304 | the status bar or navigation bar, if present). Similarly for the other edges.
305 | */
306 | @property(nonatomic,readonly,strong) UILayoutGuide *safeAreaLayoutGuide API_AVAILABLE(ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
| `- note: 'safeAreaLayoutGuide' has been explicitly marked unavailable here
307 |
308 | /// Follows the keyboard when on screen and docked. See UIKeyboardLayoutGuide.h for additional options.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:40:9: error: 'UIView' is unavailable in watchOS
38 |
39 | // Animate in and out
40 | UIView.animate(withDuration: 0.3, animations: {
| `- error: 'UIView' is unavailable in watchOS
41 | toast.alpha = 1.0
42 | }) { _ 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/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile WindowHelpers.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ ShakeFeedbackKit (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:55:40: error: cannot find type 'Context' in scope
53 | let onSend: (UIImage, String) -> Void
54 |
55 | func makeUIViewController(context: Context) -> UINavigationController {
| `- error: cannot find type 'Context' in scope
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
57 | let navController = UINavigationController(rootViewController: feedbackVC)
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:55:52: error: 'UINavigationController' is unavailable in watchOS
53 | let onSend: (UIImage, String) -> Void
54 |
55 | func makeUIViewController(context: Context) -> UINavigationController {
| `- error: 'UINavigationController' is unavailable in watchOS
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
57 | let navController = UINavigationController(rootViewController: feedbackVC)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UINavigationController : UIViewController
| `- note: 'UINavigationController' has been explicitly marked unavailable here
47 |
48 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:61:86: error: cannot find type 'Context' in scope
59 | }
60 |
61 | func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {}
| `- error: cannot find type 'Context' in scope
62 | }
63 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:61:53: error: 'UINavigationController' is unavailable in watchOS
59 | }
60 |
61 | func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {}
| `- error: 'UINavigationController' is unavailable in watchOS
62 | }
63 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UINavigationController : UIViewController
| `- note: 'UINavigationController' has been explicitly marked unavailable here
47 |
48 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:51:26: error: cannot find type 'UIViewControllerRepresentable' in scope
49 | // MARK: - Simplified Feedback Composer
50 |
51 | struct FeedbackComposer: UIViewControllerRepresentable {
| `- error: cannot find type 'UIViewControllerRepresentable' in scope
52 | let screenshot: UIImage
53 | let onSend: (UIImage, String) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:71:28: error: 'UIImageView' is unavailable in watchOS
69 |
70 | // UI Components
71 | private var imageView: UIImageView!
| `- error: 'UIImageView' is unavailable in watchOS
72 | private var textView: UITextView!
73 | private var annotateButton: UIButton!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:72:27: error: 'UITextView' is unavailable in watchOS
70 | // UI Components
71 | private var imageView: UIImageView!
72 | private var textView: UITextView!
| `- error: 'UITextView' is unavailable in watchOS
73 | private var annotateButton: UIButton!
74 | private var sendButton: UIButton!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:73:33: error: 'UIButton' is unavailable in watchOS
71 | private var imageView: UIImageView!
72 | private var textView: UITextView!
73 | private var annotateButton: UIButton!
| `- error: 'UIButton' is unavailable in watchOS
74 | private var sendButton: UIButton!
75 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:74:29: error: 'UIButton' is unavailable in watchOS
72 | private var textView: UITextView!
73 | private var annotateButton: UIButton!
74 | private var sendButton: UIButton!
| `- error: 'UIButton' is unavailable in watchOS
75 |
76 | // State
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:66:31: error: 'UIViewController' is unavailable in watchOS
64 | // MARK: - Main Feedback View Controller
65 |
66 | class FeedbackViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
67 | private let screenshot: UIImage
68 | private let onSubmit: (UIImage, String) -> 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:256:28: error: 'UIImageView' is unavailable in watchOS
254 | private let existingAnnotations: [AnnotationData]?
255 |
256 | private var imageView: UIImageView!
| `- error: 'UIImageView' is unavailable in watchOS
257 | private var drawingView: SimpleDrawingView!
258 | private var toolsStackView: UIStackView!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:258:33: error: 'UIStackView' is unavailable in watchOS
256 | private var imageView: UIImageView!
257 | private var drawingView: SimpleDrawingView!
258 | private var toolsStackView: UIStackView!
| `- error: 'UIStackView' is unavailable in watchOS
259 |
260 | init(image: UIImage, existingAnnotations: [AnnotationData]? = nil, onComplete: @escaping (UIImage, [(path: UIBezierPath, color: UIColor, width: CGFloat)]) -> 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/UIStackView.h:124:12: note: 'UIStackView' has been explicitly marked unavailable here
122 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
123 | UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
124 | @interface UIStackView : UIView
| `- note: 'UIStackView' has been explicitly marked unavailable here
125 |
126 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:357:69: error: 'UIButton' is unavailable in watchOS
355 | }
356 |
357 | private func createToolButton(title: String, color: UIColor) -> UIButton {
| `- error: 'UIButton' is unavailable in watchOS
358 | let button = UIButton(type: .system)
359 | button.setTitle(title, for: .normal)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:390:52: error: 'UIButton' is unavailable in watchOS
388 | }
389 |
390 | @objc private func colorButtonTapped(_ sender: UIButton) {
| `- error: 'UIButton' is unavailable in watchOS
391 | switch sender.titleLabel?.text {
392 | case "🔴":
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:251:33: error: 'UIViewController' is unavailable in watchOS
249 | // MARK: - Simple Annotation View Controller
250 |
251 | class AnnotationViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
252 | private let originalImage: UIImage
253 | private let onComplete: (UIImage, [(path: UIBezierPath, color: UIColor, width: CGFloat)]) -> 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:527:42: error: 'systemRed' is unavailable in watchOS
525 | private var currentPath: UIBezierPath?
526 | private var currentStroke: [CGPoint] = []
527 | private var currentColor: UIColor = .systemRed
| `- error: 'systemRed' is unavailable in watchOS
528 | private var currentWidth: CGFloat = 4.0
529 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:121:49: note: 'systemRed' has been explicitly marked unavailable here
119 | * Do not make assumptions about the color spaces or actual colors used.
120 | */
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemRed' has been explicitly marked unavailable here
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:628:47: error: 'UITouch' is unavailable in watchOS
626 | }
627 |
628 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
629 | guard let touch = touches.first else { return }
630 | let point = touch.location(in: 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/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:628:69: error: 'UIEvent' is unavailable in watchOS
626 | }
627 |
628 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
629 | guard let touch = touches.first else { return }
630 | let point = touch.location(in: 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/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:636:47: error: 'UITouch' is unavailable in watchOS
634 | }
635 |
636 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
637 | guard let touch = touches.first, let path = currentPath else { return }
638 | let point = touch.location(in: 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/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:636:69: error: 'UIEvent' is unavailable in watchOS
634 | }
635 |
636 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
637 | guard let touch = touches.first, let path = currentPath else { return }
638 | let point = touch.location(in: 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/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:650:47: error: 'UITouch' is unavailable in watchOS
648 | }
649 |
650 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
651 | guard let path = currentPath else { return }
652 | paths.append((path: path, color: currentColor, width: currentWidth))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:650:69: error: 'UIEvent' is unavailable in watchOS
648 | }
649 |
650 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
651 | guard let path = currentPath else { return }
652 | paths.append((path: path, color: currentColor, width: currentWidth))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:522:26: error: 'UIView' is unavailable in watchOS
520 | // MARK: - Simple Drawing View
521 |
522 | class SimpleDrawingView: UIView {
| `- error: 'UIView' is unavailable in watchOS
523 | private var paths: [(path: UIBezierPath, color: UIColor, width: CGFloat)] = []
524 | private var rawStrokes: [(points: [CGPoint], color: UIColor, width: CGFloat)] = []
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:735:46: error: 'UITextView' is unavailable in watchOS
733 |
734 | extension FeedbackViewController: UITextViewDelegate {
735 | func textViewDidBeginEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
736 | if textView.textColor == .placeholderText {
737 | textView.text = ""
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:742:44: error: 'UITextView' is unavailable in watchOS
740 | }
741 |
742 | func textViewDidEndEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
743 | if textView.text.isEmpty {
744 | textView.text = "Describe the issue you encountered..."
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:751:40: error: 'UITextView' is unavailable in watchOS
749 | }
750 |
751 | func textViewDidChange(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
752 | if textView.textColor != .placeholderText {
753 | feedbackText = textView.text
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:734:35: error: 'UITextViewDelegate' is unavailable in watchOS
732 | // MARK: - UITextView Delegate
733 |
734 | extension FeedbackViewController: UITextViewDelegate {
| `- error: 'UITextViewDelegate' is unavailable in watchOS
735 | func textViewDidBeginEditing(_ textView: UITextView) {
736 | if textView.textColor == .placeholderText {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:36:11: note: 'UITextViewDelegate' has been explicitly marked unavailable here
34 |
35 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
36 | @protocol UITextViewDelegate <NSObject, UIScrollViewDelegate>
| `- note: 'UITextViewDelegate' has been explicitly marked unavailable here
37 |
38 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:7:12: warning: 'public' modifier is redundant for static property declared in a public extension
5 | // Define the notification name for shake gestures
6 | public extension Notification.Name {
7 | static public let deviceDidShake = Notification.Name("deviceDidShakeNotification")
| `- warning: 'public' modifier is redundant for static property declared in a public extension
8 | }
9 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:11:11: error: 'UIWindow' is unavailable in watchOS
9 |
10 | // Add shake detection at window level
11 | extension UIWindow {
| `- error: 'UIWindow' is unavailable in watchOS
12 | // No custom code here
13 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:80:41: error: 'UIEvent' is unavailable in watchOS
78 | }
79 |
80 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
81 | super.motionEnded(motion, with: event)
82 | if motion == .motionShake {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:80:75: error: 'UIEvent' is unavailable in watchOS
78 | }
79 |
80 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
81 | super.motionEnded(motion, with: event)
82 | if motion == .motionShake {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:38:28: error: 'UIViewController' is unavailable in watchOS
36 |
37 | @MainActor
38 | class ShakeViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
39 | var onShake: (() -> Void)?
40 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:107:41: error: 'UIEvent' is unavailable in watchOS
105 | }
106 |
107 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
108 | if motion == .motionShake {
109 | print("ShakeFeedbackKit: Shake detected")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:107:75: error: 'UIEvent' is unavailable in watchOS
105 | }
106 |
107 | override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
108 | if motion == .motionShake {
109 | print("ShakeFeedbackKit: Shake detected")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:91:37: error: 'UIViewController' is unavailable in watchOS
89 |
90 | // Simple view controller that becomes first responder to detect shakes
91 | class ShakeDetectionViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
92 | override func viewDidLoad() {
93 | super.viewDidLoad()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:195:56: error: 'UIWindow' is unavailable in watchOS
193 |
194 | @MainActor
195 | private static func captureScreenshot(from window: UIWindow) -> UIImage {
| `- error: 'UIWindow' is unavailable in watchOS
196 | UIGraphicsBeginImageContextWithOptions(window.bounds.size, false, UIScreen.main.scale)
197 | window.drawHierarchy(in: window.bounds, afterScreenUpdates: true)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:204:46: error: 'UIWindow' is unavailable in watchOS
202 |
203 | @MainActor
204 | private static func showToast(in window: UIWindow, text: String, color: UIColor) {
| `- error: 'UIWindow' is unavailable in watchOS
205 | let label = UILabel()
206 | label.backgroundColor = color
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:232:72: error: 'UIViewController' is unavailable in watchOS
230 | // Find the topmost presented view controller
231 | @MainActor
232 | private static func findTopmostViewController(from viewController: UIViewController) -> UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
233 | // If the view controller is presenting something, return the presented view controller
234 | if let presentedViewController = viewController.presentedViewController {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/ShakeFeedback.swift:232:93: error: 'UIViewController' is unavailable in watchOS
230 | // Find the topmost presented view controller
231 | @MainActor
232 | private static func findTopmostViewController(from viewController: UIViewController) -> UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
233 | // If the view controller is presenting something, return the presented view controller
234 | if let presentedViewController = viewController.presentedViewController {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:4:11: error: 'UIView' is unavailable in watchOS
2 |
3 | @MainActor
4 | extension UIView {
| `- error: 'UIView' is unavailable in watchOS
5 | /// Captures a snapshot of the view as UIImage
6 | func snapshotImage() -> UIImage {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift:15:11: error: 'UIWindow' is unavailable in watchOS
13 |
14 | @MainActor
15 | extension UIWindow {
| `- error: 'UIWindow' is unavailable in watchOS
16 | /// Shows a temporary toast message at the bottom center of the window
17 | func showShakeToast(text: String, color: UIColor) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
20 |
21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
22 | @interface UIWindow : UIView
| `- note: 'UIWindow' has been explicitly marked unavailable here
23 |
24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
SwiftCompile normal arm64 (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
SwiftCompile normal arm64 Compiling\ FeedbackComposer.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:55:40: error: cannot find type 'Context' in scope
53 | let onSend: (UIImage, String) -> Void
54 |
55 | func makeUIViewController(context: Context) -> UINavigationController {
| `- error: cannot find type 'Context' in scope
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
57 | let navController = UINavigationController(rootViewController: feedbackVC)
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:55:52: error: 'UINavigationController' is unavailable in watchOS
53 | let onSend: (UIImage, String) -> Void
54 |
55 | func makeUIViewController(context: Context) -> UINavigationController {
| `- error: 'UINavigationController' is unavailable in watchOS
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
57 | let navController = UINavigationController(rootViewController: feedbackVC)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UINavigationController : UIViewController
| `- note: 'UINavigationController' has been explicitly marked unavailable here
47 |
48 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:61:86: error: cannot find type 'Context' in scope
59 | }
60 |
61 | func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {}
| `- error: cannot find type 'Context' in scope
62 | }
63 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:61:53: error: 'UINavigationController' is unavailable in watchOS
59 | }
60 |
61 | func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {}
| `- error: 'UINavigationController' is unavailable in watchOS
62 | }
63 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UINavigationController : UIViewController
| `- note: 'UINavigationController' has been explicitly marked unavailable here
47 |
48 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:51:26: error: cannot find type 'UIViewControllerRepresentable' in scope
49 | // MARK: - Simplified Feedback Composer
50 |
51 | struct FeedbackComposer: UIViewControllerRepresentable {
| `- error: cannot find type 'UIViewControllerRepresentable' in scope
52 | let screenshot: UIImage
53 | let onSend: (UIImage, String) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:71:28: error: 'UIImageView' is unavailable in watchOS
69 |
70 | // UI Components
71 | private var imageView: UIImageView!
| `- error: 'UIImageView' is unavailable in watchOS
72 | private var textView: UITextView!
73 | private var annotateButton: UIButton!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:72:27: error: 'UITextView' is unavailable in watchOS
70 | // UI Components
71 | private var imageView: UIImageView!
72 | private var textView: UITextView!
| `- error: 'UITextView' is unavailable in watchOS
73 | private var annotateButton: UIButton!
74 | private var sendButton: UIButton!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:73:33: error: 'UIButton' is unavailable in watchOS
71 | private var imageView: UIImageView!
72 | private var textView: UITextView!
73 | private var annotateButton: UIButton!
| `- error: 'UIButton' is unavailable in watchOS
74 | private var sendButton: UIButton!
75 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:74:29: error: 'UIButton' is unavailable in watchOS
72 | private var textView: UITextView!
73 | private var annotateButton: UIButton!
74 | private var sendButton: UIButton!
| `- error: 'UIButton' is unavailable in watchOS
75 |
76 | // State
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:66:31: error: 'UIViewController' is unavailable in watchOS
64 | // MARK: - Main Feedback View Controller
65 |
66 | class FeedbackViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
67 | private let screenshot: UIImage
68 | private let onSubmit: (UIImage, String) -> 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:256:28: error: 'UIImageView' is unavailable in watchOS
254 | private let existingAnnotations: [AnnotationData]?
255 |
256 | private var imageView: UIImageView!
| `- error: 'UIImageView' is unavailable in watchOS
257 | private var drawingView: SimpleDrawingView!
258 | private var toolsStackView: UIStackView!
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:258:33: error: 'UIStackView' is unavailable in watchOS
256 | private var imageView: UIImageView!
257 | private var drawingView: SimpleDrawingView!
258 | private var toolsStackView: UIStackView!
| `- error: 'UIStackView' is unavailable in watchOS
259 |
260 | init(image: UIImage, existingAnnotations: [AnnotationData]? = nil, onComplete: @escaping (UIImage, [(path: UIBezierPath, color: UIColor, width: CGFloat)]) -> 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/UIStackView.h:124:12: note: 'UIStackView' has been explicitly marked unavailable here
122 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
123 | UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
124 | @interface UIStackView : UIView
| `- note: 'UIStackView' has been explicitly marked unavailable here
125 |
126 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:357:69: error: 'UIButton' is unavailable in watchOS
355 | }
356 |
357 | private func createToolButton(title: String, color: UIColor) -> UIButton {
| `- error: 'UIButton' is unavailable in watchOS
358 | let button = UIButton(type: .system)
359 | button.setTitle(title, for: .normal)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:390:52: error: 'UIButton' is unavailable in watchOS
388 | }
389 |
390 | @objc private func colorButtonTapped(_ sender: UIButton) {
| `- error: 'UIButton' is unavailable in watchOS
391 | switch sender.titleLabel?.text {
392 | case "🔴":
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
47 |
48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
49 | @interface UIButton : UIControl <NSCoding>
| `- note: 'UIButton' has been explicitly marked unavailable here
50 |
51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:251:33: error: 'UIViewController' is unavailable in watchOS
249 | // MARK: - Simple Annotation View Controller
250 |
251 | class AnnotationViewController: UIViewController {
| `- error: 'UIViewController' is unavailable in watchOS
252 | private let originalImage: UIImage
253 | private let onComplete: (UIImage, [(path: UIBezierPath, color: UIColor, width: CGFloat)]) -> 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/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
| `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:527:42: error: 'systemRed' is unavailable in watchOS
525 | private var currentPath: UIBezierPath?
526 | private var currentStroke: [CGPoint] = []
527 | private var currentColor: UIColor = .systemRed
| `- error: 'systemRed' is unavailable in watchOS
528 | private var currentWidth: CGFloat = 4.0
529 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:121:49: note: 'systemRed' has been explicitly marked unavailable here
119 | * Do not make assumptions about the color spaces or actual colors used.
120 | */
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
| `- note: 'systemRed' has been explicitly marked unavailable here
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:628:47: error: 'UITouch' is unavailable in watchOS
626 | }
627 |
628 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
629 | guard let touch = touches.first else { return }
630 | let point = touch.location(in: 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/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:628:69: error: 'UIEvent' is unavailable in watchOS
626 | }
627 |
628 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
629 | guard let touch = touches.first else { return }
630 | let point = touch.location(in: 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/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:636:47: error: 'UITouch' is unavailable in watchOS
634 | }
635 |
636 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
637 | guard let touch = touches.first, let path = currentPath else { return }
638 | let point = touch.location(in: 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/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:636:69: error: 'UIEvent' is unavailable in watchOS
634 | }
635 |
636 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
637 | guard let touch = touches.first, let path = currentPath else { return }
638 | let point = touch.location(in: 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/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:650:47: error: 'UITouch' is unavailable in watchOS
648 | }
649 |
650 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UITouch' is unavailable in watchOS
651 | guard let path = currentPath else { return }
652 | paths.append((path: path, color: currentColor, width: currentWidth))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
49 |
50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
51 | @interface UITouch : NSObject
| `- note: 'UITouch' has been explicitly marked unavailable here
52 |
53 | @property(nonatomic,readonly) NSTimeInterval timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:650:69: error: 'UIEvent' is unavailable in watchOS
648 | }
649 |
650 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: 'UIEvent' is unavailable in watchOS
651 | guard let path = currentPath else { return }
652 | paths.append((path: path, color: currentColor, width: currentWidth))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
| `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:522:26: error: 'UIView' is unavailable in watchOS
520 | // MARK: - Simple Drawing View
521 |
522 | class SimpleDrawingView: UIView {
| `- error: 'UIView' is unavailable in watchOS
523 | private var paths: [(path: UIBezierPath, color: UIColor, width: CGFloat)] = []
524 | private var rawStrokes: [(points: [CGPoint], color: UIColor, width: CGFloat)] = []
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:735:46: error: 'UITextView' is unavailable in watchOS
733 |
734 | extension FeedbackViewController: UITextViewDelegate {
735 | func textViewDidBeginEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
736 | if textView.textColor == .placeholderText {
737 | textView.text = ""
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:742:44: error: 'UITextView' is unavailable in watchOS
740 | }
741 |
742 | func textViewDidEndEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
743 | if textView.text.isEmpty {
744 | textView.text = "Describe the issue you encountered..."
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:751:40: error: 'UITextView' is unavailable in watchOS
749 | }
750 |
751 | func textViewDidChange(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
752 | if textView.textColor != .placeholderText {
753 | feedbackText = textView.text
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
| `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:734:35: error: 'UITextViewDelegate' is unavailable in watchOS
732 | // MARK: - UITextView Delegate
733 |
734 | extension FeedbackViewController: UITextViewDelegate {
| `- error: 'UITextViewDelegate' is unavailable in watchOS
735 | func textViewDidBeginEditing(_ textView: UITextView) {
736 | if textView.textColor == .placeholderText {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:36:11: note: 'UITextViewDelegate' has been explicitly marked unavailable here
34 |
35 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
36 | @protocol UITextViewDelegate <NSObject, UIScrollViewDelegate>
| `- note: 'UITextViewDelegate' has been explicitly marked unavailable here
37 |
38 | @optional
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:57:29: error: 'UINavigationController' is unavailable in watchOS
55 | func makeUIViewController(context: Context) -> UINavigationController {
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
57 | let navController = UINavigationController(rootViewController: feedbackVC)
| `- error: 'UINavigationController' is unavailable in watchOS
58 | return navController
59 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
44 |
45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
46 | @interface UINavigationController : UIViewController
| `- note: 'UINavigationController' has been explicitly marked unavailable here
47 |
48 |
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:56:26: warning: call to main actor-isolated initializer 'init(screenshot:onSubmit:)' in a synchronous nonisolated context [#ActorIsolatedCall]
53 | let onSend: (UIImage, String) -> Void
54 |
55 | func makeUIViewController(context: Context) -> UINavigationController {
| `- note: add '@MainActor' to make instance method 'makeUIViewController(context:)' part of global actor 'MainActor'
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
| `- warning: call to main actor-isolated initializer 'init(screenshot:onSubmit:)' in a synchronous nonisolated context [#ActorIsolatedCall]
57 | let navController = UINavigationController(rootViewController: feedbackVC)
58 | return navController
:
80 | private let originalScreenshot: UIImage // Keep reference to original
81 |
82 | init(screenshot: UIImage, onSubmit: @escaping (UIImage, String) -> Void) {
| |- note: calls to initializer 'init(screenshot:onSubmit:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'UIViewController'
83 | self.screenshot = screenshot
84 | self.originalScreenshot = screenshot // Store original reference
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:57:29: warning: call to main actor-isolated initializer 'init(rootViewController:)' in a synchronous nonisolated context [#ActorIsolatedCall]
53 | let onSend: (UIImage, String) -> Void
54 |
55 | func makeUIViewController(context: Context) -> UINavigationController {
| `- note: add '@MainActor' to make instance method 'makeUIViewController(context:)' part of global actor 'MainActor'
56 | let feedbackVC = FeedbackViewController(screenshot: screenshot, onSubmit: onSend)
57 | let navController = UINavigationController(rootViewController: feedbackVC)
| `- warning: call to main actor-isolated initializer 'init(rootViewController:)' in a synchronous nonisolated context [#ActorIsolatedCall]
58 | return navController
59 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:55:1: note: calls to initializer 'init(rootViewController:)' from outside of its actor context are implicitly asynchronous
53 | - (instancetype)initWithNavigationBarClass:(nullable Class)navigationBarClass toolbarClass:(nullable Class)toolbarClass NS_DESIGNATED_INITIALIZER API_AVAILABLE(ios(5.0));
54 |
55 | - (instancetype)initWithRootViewController:(UIViewController *)rootViewController NS_DESIGNATED_INITIALIZER; // Initializer that also pushes the root view controller without animation.
| `- note: calls to initializer 'init(rootViewController:)' from outside of its actor context are implicitly asynchronous
56 |
57 | - (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_DESIGNATED_INITIALIZER; // Initializes the navigation controller with an empty stack
/Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift:101:33: error: 'systemBackground' is unavailable in watchOS
99 |
100 | private func setupUI() {
101 | view.backgroundColor = .systemBackground
| `- error: 'systemBackground' is unavailable in watchOS
102 | title = "Report Bug"
103 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:208:49: note: 'systemBackground' has been explicitly marked unavailable here
206 | * primary background in light mode.
207 | */
208 | @property (class, nonatomic, readonly) UIColor *systemBackgroundColor API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
| `- note: 'systemBackground' has been explicitly marked unavailable here
209 | @property (class, nonatomic, readonly) UIColor *secondarySystemBackgroundColor API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
210 | @property (class, nonatomic, readonly) UIColor *tertiarySystemBackgroundColor API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/FeedbackComposer.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FeedbackComposer.swift
SwiftCompile normal arm64 Compiling\ WindowHelpers.swift /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/ShakeFeedbackKit/WindowHelpers.swift (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile WindowHelpers.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-22 14:56:11.321 xcodebuild[799:4691] [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 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ ShakeFeedbackKit (in target 'ShakeFeedbackKit' from project 'ShakeFeedbackKit')
Building workspace ShakeFeedbackKit with scheme ShakeFeedbackKit
(3 failures)
BUILD FAILURE 6.4 watchOS