Build Information
Failed to build MemojiView, reference main (d21789), with Swift 6.4 for watchOS using Xcode 27.0 on 21 Sep 2026 18:59:32 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 MemojiView -destination generic/platform=watchOSBuild Log
SwiftCompile normal arm64 Compiling\ MemojiTextViewWrapper.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextViewWrapper.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextViewWrapper.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MemojiTextViewWrapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextViewWrapper.swift:17:26: error: 'init()' is unavailable in watchOS
15 | // MARK: Properties
16 |
17 | let memojiTextView = MemojiTextView()
| `- error: 'init()' is unavailable in watchOS
18 |
19 | // MARK: Init
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h: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/MemojiTextViewWrapper.swift:14:35: error: 'UIView' is unavailable in watchOS
12 | /// - The wrapper ensures that no direct interaction with the text field happens (e.g., no context menus for copy, paste, cut).
13 | /// - The wrapper also centralizes keyboard management by intercepting tap gestures and controlling the first responder state.
14 | open class MemojiTextViewWrapper: UIView {
| `- error: 'UIView' is unavailable in watchOS
15 | // MARK: Properties
16 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextViewWrapper.swift:43:19: error: 'UITapGestureRecognizer' is unavailable in watchOS
41 |
42 | private func commonInit() {
43 | let tap = UITapGestureRecognizer(target: self, action: #selector(didTapView))
| `- error: 'UITapGestureRecognizer' is unavailable in watchOS
44 | addGestureRecognizer(tap)
45 | memojiTextView.isUserInteractionEnabled = false
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITapGestureRecognizer.h:23:12: note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
23 | @interface UITapGestureRecognizer : UIGestureRecognizer
| `- note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
24 |
25 | @property (nonatomic) NSUInteger numberOfTapsRequired; // Default is 1. The number of taps required to match
SwiftCompile normal arm64 Compiling\ MemojiTextView.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift (in target 'MemojiView' from project 'MemojiView')
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:35:40: error: 'UITextInputMode' is unavailable in watchOS
33 | // TODO: Emits warnings on iOS 13 when opening the emoji keyboard.
34 | /// Opens the emoji keyboard when the text field becomes active.
35 | override public var textInputMode: UITextInputMode? {
| `- error: 'UITextInputMode' is unavailable in watchOS
36 | if let emojiKeyboard = UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == "emoji" }) {
37 | return emojiKeyboard
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:374:12: note: 'UITextInputMode' has been explicitly marked unavailable here
372 | * based on the keyboard language. Different UITextInputMode objects may have the same primaryLanguage. */
373 | UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
374 | @interface UITextInputMode : NSObject <NSSecureCoding>
| `- note: 'UITextInputMode' has been explicitly marked unavailable here
375 |
376 | @property (nullable, nonatomic, readonly, strong) NSString *primaryLanguage; // The primary language, if any, of the input mode. A BCP 47 language identifier such as en-US
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:36: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:55: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:68:49: error: 'NSTextContainer' is unavailable in watchOS
66 | // MARK: Init
67 |
68 | override init(frame: CGRect, textContainer: NSTextContainer?) {
| `- error: 'NSTextContainer' is unavailable in watchOS
69 | super.init(frame: frame, textContainer: textContainer)
70 | comminInit()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h:36:12: note: 'NSTextContainer' has been explicitly marked unavailable here
34 | /// restrictions apply to ``NSTextLayoutManager`` and ``NSTextContentStorage``.
35 | UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
36 | @interface NSTextContainer : NSObject <NSSecureCoding, NSTextLayoutOrientationProvider>
| `- note: 'NSTextContainer' has been explicitly marked unavailable here
37 |
38 | /**************************** Initialization ****************************/
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:121:19: error: cannot override 'paste' which has been marked unavailable
119 |
120 | /// Will be called once an memoji has been selected. Which results in paste
121 | override func paste(_ sender: Any?) {
| |- error: cannot override 'paste' which has been marked unavailable
| `- note: remove 'override' modifier to declare a new 'paste'
122 | super.paste(sender)
123 | if let image = UIPasteboard.general.image {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:36:1: note: 'paste' has been explicitly marked unavailable here
34 | - (void)cut:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
35 | - (void)copy:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
36 | - (void)paste:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
| `- note: 'paste' has been explicitly marked unavailable here
37 | - (void)pasteAndMatchStyle:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
38 | - (void)pasteAndGo:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:158:36: error: 'UITextPosition' is unavailable in watchOS
156 |
157 | /// Disables context menu options like: Copy, paste and search
158 | override func caretRect(for _: UITextPosition) -> CGRect {
| `- error: 'UITextPosition' is unavailable in watchOS
159 | return CGRect.zero
160 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 | * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
| `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:41: error: 'UITextRange' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextRange' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
| `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty; // Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:58: error: 'UITextSelectionRect' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextSelectionRect' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 | * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
| `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:26:23: error: 'UITextView' is unavailable in watchOS
24 | /// - Supports a maximum number of characters for text input.
25 | /// - Communicates updates through a delegate.
26 | class MemojiTextView: UITextView {
| `- error: 'UITextView' is unavailable in watchOS
27 | /// Delegate to notify about updates in the text field.
28 | weak var emojiDelegate: MemojiTextViewDelegate?
/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/MemojiTextView.swift:211:31: error: 'UITextView' is unavailable in watchOS
209 | extension MemojiTextView: UITextViewDelegate {
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
| `- error: 'UITextView' is unavailable in watchOS
212 | if text == "\n" {
213 | textView.resignFirstResponder()
/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/MemojiTextView.swift:232:46: error: 'UITextView' is unavailable in watchOS
230 | }
231 |
232 | func textViewDidBeginEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
233 | textView.text = String()
234 | }
/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/MemojiTextView.swift:236:44: error: 'UITextView' is unavailable in watchOS
234 | }
235 |
236 | func textViewDidEndEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
237 | textView.text = String()
238 | }
/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/MemojiTextView.swift:240:49: error: 'UITextView' is unavailable in watchOS
238 | }
239 |
240 | func textViewDidChangeSelection(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
241 | // Skip processing if this is an internal update
242 | if isInternalUpdate { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextView.swift:209:27: error: 'UITextViewDelegate' is unavailable in watchOS
207 | // MARK: - UITextFieldDelegate
208 |
209 | extension MemojiTextView: UITextViewDelegate {
| `- error: 'UITextViewDelegate' is unavailable in watchOS
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextView.swift:36:32: error: 'UITextInputMode' is unavailable in watchOS
34 | /// Opens the emoji keyboard when the text field becomes active.
35 | override public var textInputMode: UITextInputMode? {
36 | if let emojiKeyboard = UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == "emoji" }) {
| `- error: 'UITextInputMode' is unavailable in watchOS
37 | return emojiKeyboard
38 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:374:12: note: 'UITextInputMode' has been explicitly marked unavailable here
372 | * based on the keyboard language. Different UITextInputMode objects may have the same primaryLanguage. */
373 | UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
374 | @interface UITextInputMode : NSObject <NSSecureCoding>
| `- note: 'UITextInputMode' has been explicitly marked unavailable here
375 |
376 | @property (nullable, nonatomic, readonly, strong) NSString *primaryLanguage; // The primary language, if any, of the input mode. A BCP 47 language identifier such as en-US
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:91:13: error: 'supportsAdaptiveImageGlyph' is only available in watchOS 11.0 or newer
24 | /// - Supports a maximum number of characters for text input.
25 | /// - Communicates updates through a delegate.
26 | class MemojiTextView: UITextView {
| `- note: add '@available' attribute to enclosing class
27 | /// Delegate to notify about updates in the text field.
28 | weak var emojiDelegate: MemojiTextViewDelegate?
:
78 | // MARK: Methods
79 |
80 | private func comminInit() {
| `- note: add '@available' attribute to enclosing instance method
81 | delegate = self
82 | textColor = .clear
:
89 | allowsEditingTextAttributes = true
90 | if #available(iOS 18.0, *) {
91 | supportsAdaptiveImageGlyph = true
| |- error: 'supportsAdaptiveImageGlyph' is only available in watchOS 11.0 or newer
| `- note: add 'if #available' version check
92 | }
93 |
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:101:23: error: 'UIToolbar' is unavailable in watchOS
99 | @available(iOS 14.0, *)
100 | private func addDoneToolbar() {
101 | let toolbar = UIToolbar()
| `- error: 'UIToolbar' is unavailable in watchOS
102 | toolbar.sizeToFit()
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/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
| `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MemojiTextView.swift
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:101:23: error: 'init()' is unavailable in watchOS
99 | @available(iOS 14.0, *)
100 | private func addDoneToolbar() {
101 | let toolbar = UIToolbar()
| `- error: 'init()' is unavailable in watchOS
102 | toolbar.sizeToFit()
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/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.
SwiftCompile normal arm64 Compiling\ MemojiViewRepresentable.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift (in target 'MemojiView' from project 'MemojiView')
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift:68:37: error: cannot find type 'Context' in scope
66 | // MARK: - UIViewRepresentable
67 |
68 | public func makeUIView(context: Context) -> MemojiView {
| `- error: cannot find type 'Context' in scope
69 | let memojiView = MemojiView()
70 | memojiView.delegate = context.coordinator
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift:77:61: error: cannot find type 'Context' in scope
75 | }
76 |
77 | public func updateUIView(_ uiView: MemojiView, context: Context) {
| `- error: cannot find type 'Context' in scope
78 | uiView.image = image
79 | uiView.isEditable = isEditable
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift:19:40: error: cannot find type 'UIViewRepresentable' in scope
17 | /// with support for binding properties and handling updates via closures or delegates.
18 | @available(iOS 13.0, *)
19 | public struct MemojiViewRepresentable: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
20 | // MARK: - Properties
21 |
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MemojiViewRepresentable.swift
SwiftCompile normal arm64 Compiling\ Character.swift /Users/admin/builder/spi-builder-workspace/Sources/Extension/Character.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Extension/Character.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Character.swift
SwiftCompile normal arm64 Compiling\ MemojiImageType.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiImageType.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/MemojiImageType.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MemojiImageType.swift
SwiftCompile normal arm64 Compiling\ MemojiView.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift (in target 'MemojiView' from project 'MemojiView')
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:65:30: error: 'init()' is unavailable in watchOS
63 |
64 | /// Wrapper for `MemojiTextView` to manage input and interactions.
65 | private var memojiView = MemojiTextViewWrapper()
| `- error: 'init()' is unavailable in watchOS
66 |
67 | // MARK: Lifecycle
/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/MemojiView.swift:58:28: error: 'UIImageView' is unavailable in watchOS
56 |
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
| `- error: 'UIImageView' is unavailable in watchOS
59 | let imageView = UIImageView()
60 | imageView.contentMode = .scaleAspectFit
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:59:25: error: 'UIImageView' is unavailable in watchOS
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
59 | let imageView = UIImageView()
| `- error: 'UIImageView' is unavailable in watchOS
60 | imageView.contentMode = .scaleAspectFit
61 | return imageView
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:59:25: error: 'init()' is unavailable in watchOS
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
59 | let imageView = UIImageView()
| `- error: 'init()' is unavailable in watchOS
60 | imageView.contentMode = .scaleAspectFit
61 | return imageView
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
| `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:22:24: error: 'UIView' is unavailable in watchOS
20 | /// - Supports editable text input with `MemojiTextView`.
21 | /// - Displays updates via an `UIImageView`.
22 | open class MemojiView: UIView, MemojiTextViewDelegate {
| `- error: 'UIView' is unavailable in watchOS
23 | // MARK: Properties
24 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextViewWrapper.swift:17:26: error: 'init()' is unavailable in watchOS
15 | // MARK: Properties
16 |
17 | let memojiTextView = MemojiTextView()
| `- error: 'init()' is unavailable in watchOS
18 |
19 | // MARK: Init
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h: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/MemojiView.swift:91:9: error: 'NSLayoutConstraint' is unavailable in watchOS
89 | memojiView.translatesAutoresizingMaskIntoConstraints = false
90 |
91 | NSLayoutConstraint.activate([
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
92 | memojiView.leadingAnchor.constraint(equalTo: leadingAnchor),
93 | memojiView.trailingAnchor.constraint(equalTo: trailingAnchor),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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).
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MemojiView.swift
SwiftCompile normal arm64 Compiling\ String.swift /Users/admin/builder/spi-builder-workspace/Sources/Extension/String.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Extension/String.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile String.swift
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ MemojiView (in target 'MemojiView' from project 'MemojiView')
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:35:40: error: 'UITextInputMode' is unavailable in watchOS
33 | // TODO: Emits warnings on iOS 13 when opening the emoji keyboard.
34 | /// Opens the emoji keyboard when the text field becomes active.
35 | override public var textInputMode: UITextInputMode? {
| `- error: 'UITextInputMode' is unavailable in watchOS
36 | if let emojiKeyboard = UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == "emoji" }) {
37 | return emojiKeyboard
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:374:12: note: 'UITextInputMode' has been explicitly marked unavailable here
372 | * based on the keyboard language. Different UITextInputMode objects may have the same primaryLanguage. */
373 | UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
374 | @interface UITextInputMode : NSObject <NSSecureCoding>
| `- note: 'UITextInputMode' has been explicitly marked unavailable here
375 |
376 | @property (nullable, nonatomic, readonly, strong) NSString *primaryLanguage; // The primary language, if any, of the input mode. A BCP 47 language identifier such as en-US
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:36: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:55: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:68:49: error: 'NSTextContainer' is unavailable in watchOS
66 | // MARK: Init
67 |
68 | override init(frame: CGRect, textContainer: NSTextContainer?) {
| `- error: 'NSTextContainer' is unavailable in watchOS
69 | super.init(frame: frame, textContainer: textContainer)
70 | comminInit()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h:36:12: note: 'NSTextContainer' has been explicitly marked unavailable here
34 | /// restrictions apply to ``NSTextLayoutManager`` and ``NSTextContentStorage``.
35 | UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
36 | @interface NSTextContainer : NSObject <NSSecureCoding, NSTextLayoutOrientationProvider>
| `- note: 'NSTextContainer' has been explicitly marked unavailable here
37 |
38 | /**************************** Initialization ****************************/
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:121:19: error: cannot override 'paste' which has been marked unavailable
119 |
120 | /// Will be called once an memoji has been selected. Which results in paste
121 | override func paste(_ sender: Any?) {
| |- error: cannot override 'paste' which has been marked unavailable
| `- note: remove 'override' modifier to declare a new 'paste'
122 | super.paste(sender)
123 | if let image = UIPasteboard.general.image {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:36:1: note: 'paste' has been explicitly marked unavailable here
34 | - (void)cut:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
35 | - (void)copy:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
36 | - (void)paste:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
| `- note: 'paste' has been explicitly marked unavailable here
37 | - (void)pasteAndMatchStyle:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
38 | - (void)pasteAndGo:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:158:36: error: 'UITextPosition' is unavailable in watchOS
156 |
157 | /// Disables context menu options like: Copy, paste and search
158 | override func caretRect(for _: UITextPosition) -> CGRect {
| `- error: 'UITextPosition' is unavailable in watchOS
159 | return CGRect.zero
160 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 | * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
| `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:41: error: 'UITextRange' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextRange' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
| `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty; // Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:58: error: 'UITextSelectionRect' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextSelectionRect' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 | * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
| `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:26:23: error: 'UITextView' is unavailable in watchOS
24 | /// - Supports a maximum number of characters for text input.
25 | /// - Communicates updates through a delegate.
26 | class MemojiTextView: UITextView {
| `- error: 'UITextView' is unavailable in watchOS
27 | /// Delegate to notify about updates in the text field.
28 | weak var emojiDelegate: MemojiTextViewDelegate?
/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/MemojiTextView.swift:211:31: error: 'UITextView' is unavailable in watchOS
209 | extension MemojiTextView: UITextViewDelegate {
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
| `- error: 'UITextView' is unavailable in watchOS
212 | if text == "\n" {
213 | textView.resignFirstResponder()
/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/MemojiTextView.swift:232:46: error: 'UITextView' is unavailable in watchOS
230 | }
231 |
232 | func textViewDidBeginEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
233 | textView.text = String()
234 | }
/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/MemojiTextView.swift:236:44: error: 'UITextView' is unavailable in watchOS
234 | }
235 |
236 | func textViewDidEndEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
237 | textView.text = String()
238 | }
/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/MemojiTextView.swift:240:49: error: 'UITextView' is unavailable in watchOS
238 | }
239 |
240 | func textViewDidChangeSelection(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
241 | // Skip processing if this is an internal update
242 | if isInternalUpdate { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextView.swift:209:27: error: 'UITextViewDelegate' is unavailable in watchOS
207 | // MARK: - UITextFieldDelegate
208 |
209 | extension MemojiTextView: UITextViewDelegate {
| `- error: 'UITextViewDelegate' is unavailable in watchOS
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextViewWrapper.swift:17:26: error: 'init()' is unavailable in watchOS
15 | // MARK: Properties
16 |
17 | let memojiTextView = MemojiTextView()
| `- error: 'init()' is unavailable in watchOS
18 |
19 | // MARK: Init
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h: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/MemojiTextViewWrapper.swift:14:35: error: 'UIView' is unavailable in watchOS
12 | /// - The wrapper ensures that no direct interaction with the text field happens (e.g., no context menus for copy, paste, cut).
13 | /// - The wrapper also centralizes keyboard management by intercepting tap gestures and controlling the first responder state.
14 | open class MemojiTextViewWrapper: UIView {
| `- error: 'UIView' is unavailable in watchOS
15 | // MARK: Properties
16 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:65:30: error: 'init()' is unavailable in watchOS
63 |
64 | /// Wrapper for `MemojiTextView` to manage input and interactions.
65 | private var memojiView = MemojiTextViewWrapper()
| `- error: 'init()' is unavailable in watchOS
66 |
67 | // MARK: Lifecycle
/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.
SwiftCompile normal arm64_32 (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
SwiftCompile normal arm64_32 Compiling\ String.swift /Users/admin/builder/spi-builder-workspace/Sources/Extension/String.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Extension/String.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile String.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-09-21 14:59:21.753 xcodebuild[627:3895] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftCompile normal arm64 (in target 'MemojiView' from project 'MemojiView')
SwiftEmitModule normal arm64 Emitting\ module\ for\ MemojiView (in target 'MemojiView' from project 'MemojiView')
Building workspace MemojiView with scheme MemojiView
(3 failures)
Command line invocation:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolved source packages:
MemojiView: /Users/admin/builder/spi-builder-workspace
resolved source packages: MemojiView
2026-09-21 14:59:28.596 xcodebuild[773:4455] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
"dependencies" : [
],
"manifest_display_name" : "MemojiView",
"name" : "MemojiView",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
}
],
"products" : [
{
"name" : "MemojiView",
"targets" : [
"MemojiView"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "MemojiView",
"module_type" : "SwiftTarget",
"name" : "MemojiView",
"path" : "Sources",
"product_memberships" : [
"MemojiView"
],
"sources" : [
"Extension/Character.swift",
"Extension/String.swift",
"MemojiImageType.swift",
"MemojiTextView.swift",
"MemojiTextViewWrapper.swift",
"MemojiView.swift",
"SwiftUI/MemojiViewRepresentable.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
{
"workspace" : {
"name" : "MemojiView",
"schemes" : [
"MemojiView"
]
}
}
2026-09-21 14:59:29.911 xcodebuild[801:4686] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme MemojiView -destination generic/platform=watchOS
Command line invocation:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme MemojiView -destination generic/platform=watchOS
Resolve Package Graph
Resolved source packages:
MemojiView: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (2 targets)
Target 'MemojiView-product' in project 'MemojiView'
➜ Explicit dependency on target 'MemojiView' in project 'MemojiView'
Target 'MemojiView' in project 'MemojiView' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
SwiftDriver MemojiView normal arm64_32 com.apple.xcode.tools.swift.compiler (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name MemojiView -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64_32-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -package-name spi_builder_workspace -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftDriver MemojiView normal arm64 com.apple.xcode.tools.swift.compiler (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name MemojiView -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -package-name spi_builder_workspace -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftCompile normal arm64 Compiling\ Character.swift /Users/admin/builder/spi-builder-workspace/Sources/Extension/Character.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Extension/Character.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Character.swift
SwiftCompile normal arm64 Compiling\ MemojiTextView.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift (in target 'MemojiView' from project 'MemojiView')
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:35:40: error: 'UITextInputMode' is unavailable in watchOS
33 | // TODO: Emits warnings on iOS 13 when opening the emoji keyboard.
34 | /// Opens the emoji keyboard when the text field becomes active.
35 | override public var textInputMode: UITextInputMode? {
| `- error: 'UITextInputMode' is unavailable in watchOS
36 | if let emojiKeyboard = UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == "emoji" }) {
37 | return emojiKeyboard
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:374:12: note: 'UITextInputMode' has been explicitly marked unavailable here
372 | * based on the keyboard language. Different UITextInputMode objects may have the same primaryLanguage. */
373 | UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
374 | @interface UITextInputMode : NSObject <NSSecureCoding>
| `- note: 'UITextInputMode' has been explicitly marked unavailable here
375 |
376 | @property (nullable, nonatomic, readonly, strong) NSString *primaryLanguage; // The primary language, if any, of the input mode. A BCP 47 language identifier such as en-US
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:36: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:55: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:68:49: error: 'NSTextContainer' is unavailable in watchOS
66 | // MARK: Init
67 |
68 | override init(frame: CGRect, textContainer: NSTextContainer?) {
| `- error: 'NSTextContainer' is unavailable in watchOS
69 | super.init(frame: frame, textContainer: textContainer)
70 | comminInit()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h:36:12: note: 'NSTextContainer' has been explicitly marked unavailable here
34 | /// restrictions apply to ``NSTextLayoutManager`` and ``NSTextContentStorage``.
35 | UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
36 | @interface NSTextContainer : NSObject <NSSecureCoding, NSTextLayoutOrientationProvider>
| `- note: 'NSTextContainer' has been explicitly marked unavailable here
37 |
38 | /**************************** Initialization ****************************/
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:121:19: error: cannot override 'paste' which has been marked unavailable
119 |
120 | /// Will be called once an memoji has been selected. Which results in paste
121 | override func paste(_ sender: Any?) {
| |- error: cannot override 'paste' which has been marked unavailable
| `- note: remove 'override' modifier to declare a new 'paste'
122 | super.paste(sender)
123 | if let image = UIPasteboard.general.image {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:36:1: note: 'paste' has been explicitly marked unavailable here
34 | - (void)cut:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
35 | - (void)copy:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
36 | - (void)paste:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
| `- note: 'paste' has been explicitly marked unavailable here
37 | - (void)pasteAndMatchStyle:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
38 | - (void)pasteAndGo:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:158:36: error: 'UITextPosition' is unavailable in watchOS
156 |
157 | /// Disables context menu options like: Copy, paste and search
158 | override func caretRect(for _: UITextPosition) -> CGRect {
| `- error: 'UITextPosition' is unavailable in watchOS
159 | return CGRect.zero
160 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 | * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
| `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:41: error: 'UITextRange' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextRange' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
| `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty; // Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:58: error: 'UITextSelectionRect' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextSelectionRect' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 | * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
| `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:26:23: error: 'UITextView' is unavailable in watchOS
24 | /// - Supports a maximum number of characters for text input.
25 | /// - Communicates updates through a delegate.
26 | class MemojiTextView: UITextView {
| `- error: 'UITextView' is unavailable in watchOS
27 | /// Delegate to notify about updates in the text field.
28 | weak var emojiDelegate: MemojiTextViewDelegate?
/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/MemojiTextView.swift:211:31: error: 'UITextView' is unavailable in watchOS
209 | extension MemojiTextView: UITextViewDelegate {
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
| `- error: 'UITextView' is unavailable in watchOS
212 | if text == "\n" {
213 | textView.resignFirstResponder()
/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/MemojiTextView.swift:232:46: error: 'UITextView' is unavailable in watchOS
230 | }
231 |
232 | func textViewDidBeginEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
233 | textView.text = String()
234 | }
/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/MemojiTextView.swift:236:44: error: 'UITextView' is unavailable in watchOS
234 | }
235 |
236 | func textViewDidEndEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
237 | textView.text = String()
238 | }
/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/MemojiTextView.swift:240:49: error: 'UITextView' is unavailable in watchOS
238 | }
239 |
240 | func textViewDidChangeSelection(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
241 | // Skip processing if this is an internal update
242 | if isInternalUpdate { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextView.swift:209:27: error: 'UITextViewDelegate' is unavailable in watchOS
207 | // MARK: - UITextFieldDelegate
208 |
209 | extension MemojiTextView: UITextViewDelegate {
| `- error: 'UITextViewDelegate' is unavailable in watchOS
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextView.swift:36:32: error: 'UITextInputMode' is unavailable in watchOS
34 | /// Opens the emoji keyboard when the text field becomes active.
35 | override public var textInputMode: UITextInputMode? {
36 | if let emojiKeyboard = UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == "emoji" }) {
| `- error: 'UITextInputMode' is unavailable in watchOS
37 | return emojiKeyboard
38 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:374:12: note: 'UITextInputMode' has been explicitly marked unavailable here
372 | * based on the keyboard language. Different UITextInputMode objects may have the same primaryLanguage. */
373 | UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
374 | @interface UITextInputMode : NSObject <NSSecureCoding>
| `- note: 'UITextInputMode' has been explicitly marked unavailable here
375 |
376 | @property (nullable, nonatomic, readonly, strong) NSString *primaryLanguage; // The primary language, if any, of the input mode. A BCP 47 language identifier such as en-US
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:91:13: error: 'supportsAdaptiveImageGlyph' is only available in watchOS 11.0 or newer
24 | /// - Supports a maximum number of characters for text input.
25 | /// - Communicates updates through a delegate.
26 | class MemojiTextView: UITextView {
| `- note: add '@available' attribute to enclosing class
27 | /// Delegate to notify about updates in the text field.
28 | weak var emojiDelegate: MemojiTextViewDelegate?
:
78 | // MARK: Methods
79 |
80 | private func comminInit() {
| `- note: add '@available' attribute to enclosing instance method
81 | delegate = self
82 | textColor = .clear
:
89 | allowsEditingTextAttributes = true
90 | if #available(iOS 18.0, *) {
91 | supportsAdaptiveImageGlyph = true
| |- error: 'supportsAdaptiveImageGlyph' is only available in watchOS 11.0 or newer
| `- note: add 'if #available' version check
92 | }
93 |
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:101:23: error: 'UIToolbar' is unavailable in watchOS
99 | @available(iOS 14.0, *)
100 | private func addDoneToolbar() {
101 | let toolbar = UIToolbar()
| `- error: 'UIToolbar' is unavailable in watchOS
102 | toolbar.sizeToFit()
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/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
| `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MemojiTextView.swift
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:101:23: error: 'init()' is unavailable in watchOS
99 | @available(iOS 14.0, *)
100 | private func addDoneToolbar() {
101 | let toolbar = UIToolbar()
| `- error: 'init()' is unavailable in watchOS
102 | toolbar.sizeToFit()
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/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.
SwiftCompile normal arm64 Compiling\ MemojiTextViewWrapper.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextViewWrapper.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextViewWrapper.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MemojiTextViewWrapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextViewWrapper.swift:17:26: error: 'init()' is unavailable in watchOS
15 | // MARK: Properties
16 |
17 | let memojiTextView = MemojiTextView()
| `- error: 'init()' is unavailable in watchOS
18 |
19 | // MARK: Init
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h: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/MemojiTextViewWrapper.swift:14:35: error: 'UIView' is unavailable in watchOS
12 | /// - The wrapper ensures that no direct interaction with the text field happens (e.g., no context menus for copy, paste, cut).
13 | /// - The wrapper also centralizes keyboard management by intercepting tap gestures and controlling the first responder state.
14 | open class MemojiTextViewWrapper: UIView {
| `- error: 'UIView' is unavailable in watchOS
15 | // MARK: Properties
16 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextViewWrapper.swift:43:19: error: 'UITapGestureRecognizer' is unavailable in watchOS
41 |
42 | private func commonInit() {
43 | let tap = UITapGestureRecognizer(target: self, action: #selector(didTapView))
| `- error: 'UITapGestureRecognizer' is unavailable in watchOS
44 | addGestureRecognizer(tap)
45 | memojiTextView.isUserInteractionEnabled = false
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITapGestureRecognizer.h:23:12: note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
23 | @interface UITapGestureRecognizer : UIGestureRecognizer
| `- note: 'UITapGestureRecognizer' has been explicitly marked unavailable here
24 |
25 | @property (nonatomic) NSUInteger numberOfTapsRequired; // Default is 1. The number of taps required to match
SwiftEmitModule normal arm64 Emitting\ module\ for\ MemojiView (in target 'MemojiView' from project 'MemojiView')
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:35:40: error: 'UITextInputMode' is unavailable in watchOS
33 | // TODO: Emits warnings on iOS 13 when opening the emoji keyboard.
34 | /// Opens the emoji keyboard when the text field becomes active.
35 | override public var textInputMode: UITextInputMode? {
| `- error: 'UITextInputMode' is unavailable in watchOS
36 | if let emojiKeyboard = UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == "emoji" }) {
37 | return emojiKeyboard
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:374:12: note: 'UITextInputMode' has been explicitly marked unavailable here
372 | * based on the keyboard language. Different UITextInputMode objects may have the same primaryLanguage. */
373 | UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
374 | @interface UITextInputMode : NSObject <NSSecureCoding>
| `- note: 'UITextInputMode' has been explicitly marked unavailable here
375 |
376 | @property (nullable, nonatomic, readonly, strong) NSString *primaryLanguage; // The primary language, if any, of the input mode. A BCP 47 language identifier such as en-US
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:36: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:55: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:68:49: error: 'NSTextContainer' is unavailable in watchOS
66 | // MARK: Init
67 |
68 | override init(frame: CGRect, textContainer: NSTextContainer?) {
| `- error: 'NSTextContainer' is unavailable in watchOS
69 | super.init(frame: frame, textContainer: textContainer)
70 | comminInit()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h:36:12: note: 'NSTextContainer' has been explicitly marked unavailable here
34 | /// restrictions apply to ``NSTextLayoutManager`` and ``NSTextContentStorage``.
35 | UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
36 | @interface NSTextContainer : NSObject <NSSecureCoding, NSTextLayoutOrientationProvider>
| `- note: 'NSTextContainer' has been explicitly marked unavailable here
37 |
38 | /**************************** Initialization ****************************/
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:121:19: error: cannot override 'paste' which has been marked unavailable
119 |
120 | /// Will be called once an memoji has been selected. Which results in paste
121 | override func paste(_ sender: Any?) {
| |- error: cannot override 'paste' which has been marked unavailable
| `- note: remove 'override' modifier to declare a new 'paste'
122 | super.paste(sender)
123 | if let image = UIPasteboard.general.image {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:36:1: note: 'paste' has been explicitly marked unavailable here
34 | - (void)cut:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
35 | - (void)copy:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
36 | - (void)paste:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
| `- note: 'paste' has been explicitly marked unavailable here
37 | - (void)pasteAndMatchStyle:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
38 | - (void)pasteAndGo:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:158:36: error: 'UITextPosition' is unavailable in watchOS
156 |
157 | /// Disables context menu options like: Copy, paste and search
158 | override func caretRect(for _: UITextPosition) -> CGRect {
| `- error: 'UITextPosition' is unavailable in watchOS
159 | return CGRect.zero
160 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 | * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
| `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:41: error: 'UITextRange' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextRange' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
| `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty; // Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:58: error: 'UITextSelectionRect' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextSelectionRect' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 | * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
| `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:26:23: error: 'UITextView' is unavailable in watchOS
24 | /// - Supports a maximum number of characters for text input.
25 | /// - Communicates updates through a delegate.
26 | class MemojiTextView: UITextView {
| `- error: 'UITextView' is unavailable in watchOS
27 | /// Delegate to notify about updates in the text field.
28 | weak var emojiDelegate: MemojiTextViewDelegate?
/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/MemojiTextView.swift:211:31: error: 'UITextView' is unavailable in watchOS
209 | extension MemojiTextView: UITextViewDelegate {
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
| `- error: 'UITextView' is unavailable in watchOS
212 | if text == "\n" {
213 | textView.resignFirstResponder()
/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/MemojiTextView.swift:232:46: error: 'UITextView' is unavailable in watchOS
230 | }
231 |
232 | func textViewDidBeginEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
233 | textView.text = String()
234 | }
/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/MemojiTextView.swift:236:44: error: 'UITextView' is unavailable in watchOS
234 | }
235 |
236 | func textViewDidEndEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
237 | textView.text = String()
238 | }
/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/MemojiTextView.swift:240:49: error: 'UITextView' is unavailable in watchOS
238 | }
239 |
240 | func textViewDidChangeSelection(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
241 | // Skip processing if this is an internal update
242 | if isInternalUpdate { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextView.swift:209:27: error: 'UITextViewDelegate' is unavailable in watchOS
207 | // MARK: - UITextFieldDelegate
208 |
209 | extension MemojiTextView: UITextViewDelegate {
| `- error: 'UITextViewDelegate' is unavailable in watchOS
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextViewWrapper.swift:17:26: error: 'init()' is unavailable in watchOS
15 | // MARK: Properties
16 |
17 | let memojiTextView = MemojiTextView()
| `- error: 'init()' is unavailable in watchOS
18 |
19 | // MARK: Init
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h: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/MemojiTextViewWrapper.swift:14:35: error: 'UIView' is unavailable in watchOS
12 | /// - The wrapper ensures that no direct interaction with the text field happens (e.g., no context menus for copy, paste, cut).
13 | /// - The wrapper also centralizes keyboard management by intercepting tap gestures and controlling the first responder state.
14 | open class MemojiTextViewWrapper: UIView {
| `- error: 'UIView' is unavailable in watchOS
15 | // MARK: Properties
16 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:65:30: error: 'init()' is unavailable in watchOS
63 |
64 | /// Wrapper for `MemojiTextView` to manage input and interactions.
65 | private var memojiView = MemojiTextViewWrapper()
| `- error: 'init()' is unavailable in watchOS
66 |
67 | // MARK: Lifecycle
/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/MemojiView.swift:58:28: error: 'UIImageView' is unavailable in watchOS
56 |
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
| `- error: 'UIImageView' is unavailable in watchOS
59 | let imageView = UIImageView()
60 | imageView.contentMode = .scaleAspectFit
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:59:25: error: 'UIImageView' is unavailable in watchOS
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
59 | let imageView = UIImageView()
| `- error: 'UIImageView' is unavailable in watchOS
60 | imageView.contentMode = .scaleAspectFit
61 | return imageView
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:59:25: error: 'init()' is unavailable in watchOS
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
59 | let imageView = UIImageView()
| `- error: 'init()' is unavailable in watchOS
60 | imageView.contentMode = .scaleAspectFit
61 | return imageView
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
| `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:22:24: error: 'UIView' is unavailable in watchOS
20 | /// - Supports editable text input with `MemojiTextView`.
21 | /// - Displays updates via an `UIImageView`.
22 | open class MemojiView: UIView, MemojiTextViewDelegate {
| `- error: 'UIView' is unavailable in watchOS
23 | // MARK: Properties
24 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/SwiftUI/MemojiViewRepresentable.swift:68:37: error: cannot find type 'Context' in scope
66 | // MARK: - UIViewRepresentable
67 |
68 | public func makeUIView(context: Context) -> MemojiView {
| `- error: cannot find type 'Context' in scope
69 | let memojiView = MemojiView()
70 | memojiView.delegate = context.coordinator
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift:77:61: error: cannot find type 'Context' in scope
75 | }
76 |
77 | public func updateUIView(_ uiView: MemojiView, context: Context) {
| `- error: cannot find type 'Context' in scope
78 | uiView.image = image
79 | uiView.isEditable = isEditable
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift:19:40: error: cannot find type 'UIViewRepresentable' in scope
17 | /// with support for binding properties and handling updates via closures or delegates.
18 | @available(iOS 13.0, *)
19 | public struct MemojiViewRepresentable: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
20 | // MARK: - Properties
21 |
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/Extension/Character.swift /Users/admin/builder/spi-builder-workspace/Sources/Extension/String.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiImageType.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextViewWrapper.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift -target arm64-apple-watchos9.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/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/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView-dependencies-2.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -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/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name MemojiView -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64/MemojiView.abi.json
SwiftCompile normal arm64 (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
SwiftCompile normal arm64 Compiling\ MemojiViewRepresentable.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MemojiViewRepresentable.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift:68:37: error: cannot find type 'Context' in scope
66 | // MARK: - UIViewRepresentable
67 |
68 | public func makeUIView(context: Context) -> MemojiView {
| `- error: cannot find type 'Context' in scope
69 | let memojiView = MemojiView()
70 | memojiView.delegate = context.coordinator
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift:77:61: error: cannot find type 'Context' in scope
75 | }
76 |
77 | public func updateUIView(_ uiView: MemojiView, context: Context) {
| `- error: cannot find type 'Context' in scope
78 | uiView.image = image
79 | uiView.isEditable = isEditable
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift:19:40: error: cannot find type 'UIViewRepresentable' in scope
17 | /// with support for binding properties and handling updates via closures or delegates.
18 | @available(iOS 13.0, *)
19 | public struct MemojiViewRepresentable: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
20 | // MARK: - Properties
21 |
SwiftCompile normal arm64 Compiling\ MemojiView.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift (in target 'MemojiView' from project 'MemojiView')
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:65:30: error: 'init()' is unavailable in watchOS
63 |
64 | /// Wrapper for `MemojiTextView` to manage input and interactions.
65 | private var memojiView = MemojiTextViewWrapper()
| `- error: 'init()' is unavailable in watchOS
66 |
67 | // MARK: Lifecycle
/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/MemojiView.swift:58:28: error: 'UIImageView' is unavailable in watchOS
56 |
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
| `- error: 'UIImageView' is unavailable in watchOS
59 | let imageView = UIImageView()
60 | imageView.contentMode = .scaleAspectFit
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:59:25: error: 'UIImageView' is unavailable in watchOS
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
59 | let imageView = UIImageView()
| `- error: 'UIImageView' is unavailable in watchOS
60 | imageView.contentMode = .scaleAspectFit
61 | return imageView
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:59:25: error: 'init()' is unavailable in watchOS
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
59 | let imageView = UIImageView()
| `- error: 'init()' is unavailable in watchOS
60 | imageView.contentMode = .scaleAspectFit
61 | return imageView
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
| `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:22:24: error: 'UIView' is unavailable in watchOS
20 | /// - Supports editable text input with `MemojiTextView`.
21 | /// - Displays updates via an `UIImageView`.
22 | open class MemojiView: UIView, MemojiTextViewDelegate {
| `- error: 'UIView' is unavailable in watchOS
23 | // MARK: Properties
24 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextViewWrapper.swift:17:26: error: 'init()' is unavailable in watchOS
15 | // MARK: Properties
16 |
17 | let memojiTextView = MemojiTextView()
| `- error: 'init()' is unavailable in watchOS
18 |
19 | // MARK: Init
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h: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/MemojiView.swift:91:9: error: 'NSLayoutConstraint' is unavailable in watchOS
89 | memojiView.translatesAutoresizingMaskIntoConstraints = false
90 |
91 | NSLayoutConstraint.activate([
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
92 | memojiView.leadingAnchor.constraint(equalTo: leadingAnchor),
93 | memojiView.trailingAnchor.constraint(equalTo: trailingAnchor),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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).
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MemojiView.swift
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ MemojiView (in target 'MemojiView' from project 'MemojiView')
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:35:40: error: 'UITextInputMode' is unavailable in watchOS
33 | // TODO: Emits warnings on iOS 13 when opening the emoji keyboard.
34 | /// Opens the emoji keyboard when the text field becomes active.
35 | override public var textInputMode: UITextInputMode? {
| `- error: 'UITextInputMode' is unavailable in watchOS
36 | if let emojiKeyboard = UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == "emoji" }) {
37 | return emojiKeyboard
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:374:12: note: 'UITextInputMode' has been explicitly marked unavailable here
372 | * based on the keyboard language. Different UITextInputMode objects may have the same primaryLanguage. */
373 | UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
374 | @interface UITextInputMode : NSObject <NSSecureCoding>
| `- note: 'UITextInputMode' has been explicitly marked unavailable here
375 |
376 | @property (nullable, nonatomic, readonly, strong) NSString *primaryLanguage; // The primary language, if any, of the input mode. A BCP 47 language identifier such as en-US
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:36: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:55: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:68:49: error: 'NSTextContainer' is unavailable in watchOS
66 | // MARK: Init
67 |
68 | override init(frame: CGRect, textContainer: NSTextContainer?) {
| `- error: 'NSTextContainer' is unavailable in watchOS
69 | super.init(frame: frame, textContainer: textContainer)
70 | comminInit()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h:36:12: note: 'NSTextContainer' has been explicitly marked unavailable here
34 | /// restrictions apply to ``NSTextLayoutManager`` and ``NSTextContentStorage``.
35 | UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
36 | @interface NSTextContainer : NSObject <NSSecureCoding, NSTextLayoutOrientationProvider>
| `- note: 'NSTextContainer' has been explicitly marked unavailable here
37 |
38 | /**************************** Initialization ****************************/
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:121:19: error: cannot override 'paste' which has been marked unavailable
119 |
120 | /// Will be called once an memoji has been selected. Which results in paste
121 | override func paste(_ sender: Any?) {
| |- error: cannot override 'paste' which has been marked unavailable
| `- note: remove 'override' modifier to declare a new 'paste'
122 | super.paste(sender)
123 | if let image = UIPasteboard.general.image {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:36:1: note: 'paste' has been explicitly marked unavailable here
34 | - (void)cut:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
35 | - (void)copy:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
36 | - (void)paste:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
| `- note: 'paste' has been explicitly marked unavailable here
37 | - (void)pasteAndMatchStyle:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
38 | - (void)pasteAndGo:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:158:36: error: 'UITextPosition' is unavailable in watchOS
156 |
157 | /// Disables context menu options like: Copy, paste and search
158 | override func caretRect(for _: UITextPosition) -> CGRect {
| `- error: 'UITextPosition' is unavailable in watchOS
159 | return CGRect.zero
160 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 | * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
| `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:41: error: 'UITextRange' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextRange' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
| `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty; // Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:58: error: 'UITextSelectionRect' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextSelectionRect' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 | * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
| `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:26:23: error: 'UITextView' is unavailable in watchOS
24 | /// - Supports a maximum number of characters for text input.
25 | /// - Communicates updates through a delegate.
26 | class MemojiTextView: UITextView {
| `- error: 'UITextView' is unavailable in watchOS
27 | /// Delegate to notify about updates in the text field.
28 | weak var emojiDelegate: MemojiTextViewDelegate?
/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/MemojiTextView.swift:211:31: error: 'UITextView' is unavailable in watchOS
209 | extension MemojiTextView: UITextViewDelegate {
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
| `- error: 'UITextView' is unavailable in watchOS
212 | if text == "\n" {
213 | textView.resignFirstResponder()
/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/MemojiTextView.swift:232:46: error: 'UITextView' is unavailable in watchOS
230 | }
231 |
232 | func textViewDidBeginEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
233 | textView.text = String()
234 | }
/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/MemojiTextView.swift:236:44: error: 'UITextView' is unavailable in watchOS
234 | }
235 |
236 | func textViewDidEndEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
237 | textView.text = String()
238 | }
/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/MemojiTextView.swift:240:49: error: 'UITextView' is unavailable in watchOS
238 | }
239 |
240 | func textViewDidChangeSelection(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
241 | // Skip processing if this is an internal update
242 | if isInternalUpdate { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextView.swift:209:27: error: 'UITextViewDelegate' is unavailable in watchOS
207 | // MARK: - UITextFieldDelegate
208 |
209 | extension MemojiTextView: UITextViewDelegate {
| `- error: 'UITextViewDelegate' is unavailable in watchOS
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextViewWrapper.swift:17:26: error: 'init()' is unavailable in watchOS
15 | // MARK: Properties
16 |
17 | let memojiTextView = MemojiTextView()
| `- error: 'init()' is unavailable in watchOS
18 |
19 | // MARK: Init
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h: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/MemojiTextViewWrapper.swift:14:35: error: 'UIView' is unavailable in watchOS
12 | /// - The wrapper ensures that no direct interaction with the text field happens (e.g., no context menus for copy, paste, cut).
13 | /// - The wrapper also centralizes keyboard management by intercepting tap gestures and controlling the first responder state.
14 | open class MemojiTextViewWrapper: UIView {
| `- error: 'UIView' is unavailable in watchOS
15 | // MARK: Properties
16 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
| `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass; // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:65:30: error: 'init()' is unavailable in watchOS
63 |
64 | /// Wrapper for `MemojiTextView` to manage input and interactions.
65 | private var memojiView = MemojiTextViewWrapper()
| `- error: 'init()' is unavailable in watchOS
66 |
67 | // MARK: Lifecycle
/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/MemojiView.swift:58:28: error: 'UIImageView' is unavailable in watchOS
56 |
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
| `- error: 'UIImageView' is unavailable in watchOS
59 | let imageView = UIImageView()
60 | imageView.contentMode = .scaleAspectFit
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:59:25: error: 'UIImageView' is unavailable in watchOS
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
59 | let imageView = UIImageView()
| `- error: 'UIImageView' is unavailable in watchOS
60 | imageView.contentMode = .scaleAspectFit
61 | return imageView
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIImageView.h:21:12: note: 'UIImageView' has been explicitly marked unavailable here
19 |
20 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
21 | @interface UIImageView : UIView
| `- note: 'UIImageView' has been explicitly marked unavailable here
22 |
23 | - (instancetype)initWithImage:(nullable UIImage *)image;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:59:25: error: 'init()' is unavailable in watchOS
57 | /// ImageView to display the emoji, memoji, or text image.
58 | private var imageView: UIImageView = {
59 | let imageView = UIImageView()
| `- error: 'init()' is unavailable in watchOS
60 | imageView.contentMode = .scaleAspectFit
61 | return imageView
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
| `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift:22:24: error: 'UIView' is unavailable in watchOS
20 | /// - Supports editable text input with `MemojiTextView`.
21 | /// - Displays updates via an `UIImageView`.
22 | open class MemojiView: UIView, MemojiTextViewDelegate {
| `- error: 'UIView' is unavailable in watchOS
23 | // MARK: Properties
24 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/SwiftUI/MemojiViewRepresentable.swift:68:37: error: cannot find type 'Context' in scope
66 | // MARK: - UIViewRepresentable
67 |
68 | public func makeUIView(context: Context) -> MemojiView {
| `- error: cannot find type 'Context' in scope
69 | let memojiView = MemojiView()
70 | memojiView.delegate = context.coordinator
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift:77:61: error: cannot find type 'Context' in scope
75 | }
76 |
77 | public func updateUIView(_ uiView: MemojiView, context: Context) {
| `- error: cannot find type 'Context' in scope
78 | uiView.image = image
79 | uiView.isEditable = isEditable
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.swift:19:40: error: cannot find type 'UIViewRepresentable' in scope
17 | /// with support for binding properties and handling updates via closures or delegates.
18 | @available(iOS 13.0, *)
19 | public struct MemojiViewRepresentable: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
20 | // MARK: - Properties
21 |
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/Extension/Character.swift /Users/admin/builder/spi-builder-workspace/Sources/Extension/String.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiImageType.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextViewWrapper.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiView.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftUI/MemojiViewRepresentable.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/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView-dependencies-1.json -enable-objc-interop -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -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/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name MemojiView -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView_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/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/MemojiView.build/Debug-watchos/MemojiView-t.build/Objects-normal/arm64_32/MemojiView.abi.json
SwiftCompile normal arm64_32 (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
SwiftCompile normal arm64 Compiling\ String.swift /Users/admin/builder/spi-builder-workspace/Sources/Extension/String.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Extension/String.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile String.swift
SwiftCompile normal arm64_32 Compiling\ Character.swift /Users/admin/builder/spi-builder-workspace/Sources/Extension/Character.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Extension/Character.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Character.swift
SwiftCompile normal arm64_32 Compiling\ MemojiTextView.swift /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift (in target 'MemojiView' from project 'MemojiView')
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:35:40: error: 'UITextInputMode' is unavailable in watchOS
33 | // TODO: Emits warnings on iOS 13 when opening the emoji keyboard.
34 | /// Opens the emoji keyboard when the text field becomes active.
35 | override public var textInputMode: UITextInputMode? {
| `- error: 'UITextInputMode' is unavailable in watchOS
36 | if let emojiKeyboard = UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == "emoji" }) {
37 | return emojiKeyboard
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:374:12: note: 'UITextInputMode' has been explicitly marked unavailable here
372 | * based on the keyboard language. Different UITextInputMode objects may have the same primaryLanguage. */
373 | UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
374 | @interface UITextInputMode : NSObject <NSSecureCoding>
| `- note: 'UITextInputMode' has been explicitly marked unavailable here
375 |
376 | @property (nullable, nonatomic, readonly, strong) NSString *primaryLanguage; // The primary language, if any, of the input mode. A BCP 47 language identifier such as en-US
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:36: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:61:55: error: 'UIPasteboard' is unavailable in watchOS
59 |
60 | /// Custom pasteboard for handling memoji images in <iOS18
61 | private let memojiPasteboard = UIPasteboard(name: UIPasteboard.Name(rawValue: "memojiPasteboard"), create: true)
| `- error: 'UIPasteboard' is unavailable in watchOS
62 |
63 | /// Flag to prevent recursive calls during internal updates.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h:50:12: note: 'UIPasteboard' has been explicitly marked unavailable here
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) NS_SWIFT_SENDABLE
50 | @interface UIPasteboard : NSObject
| `- note: 'UIPasteboard' has been explicitly marked unavailable here
51 |
52 | @property(class, nonatomic, readonly) UIPasteboard *generalPasteboard;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:68:49: error: 'NSTextContainer' is unavailable in watchOS
66 | // MARK: Init
67 |
68 | override init(frame: CGRect, textContainer: NSTextContainer?) {
| `- error: 'NSTextContainer' is unavailable in watchOS
69 | super.init(frame: frame, textContainer: textContainer)
70 | comminInit()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContainer.h:36:12: note: 'NSTextContainer' has been explicitly marked unavailable here
34 | /// restrictions apply to ``NSTextLayoutManager`` and ``NSTextContentStorage``.
35 | UIKIT_EXTERN API_AVAILABLE(macos(10.0), ios(7.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
36 | @interface NSTextContainer : NSObject <NSSecureCoding, NSTextLayoutOrientationProvider>
| `- note: 'NSTextContainer' has been explicitly marked unavailable here
37 |
38 | /**************************** Initialization ****************************/
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:121:19: error: cannot override 'paste' which has been marked unavailable
119 |
120 | /// Will be called once an memoji has been selected. Which results in paste
121 | override func paste(_ sender: Any?) {
| |- error: cannot override 'paste' which has been marked unavailable
| `- note: remove 'override' modifier to declare a new 'paste'
122 | super.paste(sender)
123 | if let image = UIPasteboard.general.image {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIResponder.h:36:1: note: 'paste' has been explicitly marked unavailable here
34 | - (void)cut:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
35 | - (void)copy:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
36 | - (void)paste:(nullable id)sender API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(watchos);
| `- note: 'paste' has been explicitly marked unavailable here
37 | - (void)pasteAndMatchStyle:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
38 | - (void)pasteAndGo:(nullable id)sender API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:158:36: error: 'UITextPosition' is unavailable in watchOS
156 |
157 | /// Disables context menu options like: Copy, paste and search
158 | override func caretRect(for _: UITextPosition) -> CGRect {
| `- error: 'UITextPosition' is unavailable in watchOS
159 | return CGRect.zero
160 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:302:12: note: 'UITextPosition' has been explicitly marked unavailable here
300 | * classes provided to be subclassed when adopting UITextInput */
301 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
302 | @interface UITextPosition : NSObject
| `- note: 'UITextPosition' has been explicitly marked unavailable here
303 |
304 | @end
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:41: error: 'UITextRange' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextRange' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:307:12: note: 'UITextRange' has been explicitly marked unavailable here
305 |
306 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
307 | @interface UITextRange : NSObject
| `- note: 'UITextRange' has been explicitly marked unavailable here
308 |
309 | @property (nonatomic, readonly, getter=isEmpty) BOOL empty; // Whether the range is zero-length.
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:163:58: error: 'UITextSelectionRect' is unavailable in watchOS
161 |
162 | /// Disables selection rectangles for the text field.
163 | override func selectionRects(for _: UITextRange) -> [UITextSelectionRect] {
| `- error: 'UITextSelectionRect' is unavailable in watchOS
164 | return []
165 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:319:12: note: 'UITextSelectionRect' has been explicitly marked unavailable here
317 | * provided to be subclassed when adopting UITextInput */
318 | UIKIT_EXTERN API_AVAILABLE(ios(6.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
319 | @interface UITextSelectionRect : NSObject
| `- note: 'UITextSelectionRect' has been explicitly marked unavailable here
320 |
321 | @property (nonatomic, readonly) CGRect rect;
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:26:23: error: 'UITextView' is unavailable in watchOS
24 | /// - Supports a maximum number of characters for text input.
25 | /// - Communicates updates through a delegate.
26 | class MemojiTextView: UITextView {
| `- error: 'UITextView' is unavailable in watchOS
27 | /// Delegate to notify about updates in the text field.
28 | weak var emojiDelegate: MemojiTextViewDelegate?
/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/MemojiTextView.swift:211:31: error: 'UITextView' is unavailable in watchOS
209 | extension MemojiTextView: UITextViewDelegate {
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
| `- error: 'UITextView' is unavailable in watchOS
212 | if text == "\n" {
213 | textView.resignFirstResponder()
/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/MemojiTextView.swift:232:46: error: 'UITextView' is unavailable in watchOS
230 | }
231 |
232 | func textViewDidBeginEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
233 | textView.text = String()
234 | }
/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/MemojiTextView.swift:236:44: error: 'UITextView' is unavailable in watchOS
234 | }
235 |
236 | func textViewDidEndEditing(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
237 | textView.text = String()
238 | }
/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/MemojiTextView.swift:240:49: error: 'UITextView' is unavailable in watchOS
238 | }
239 |
240 | func textViewDidChangeSelection(_ textView: UITextView) {
| `- error: 'UITextView' is unavailable in watchOS
241 | // Skip processing if this is an internal update
242 | if isInternalUpdate { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextView.swift:209:27: error: 'UITextViewDelegate' is unavailable in watchOS
207 | // MARK: - UITextFieldDelegate
208 |
209 | extension MemojiTextView: UITextViewDelegate {
| `- error: 'UITextViewDelegate' is unavailable in watchOS
210 | /// Validates and processes text input changes.
211 | func textView(_ textView: UITextView, shouldChangeTextIn _: NSRange, replacementText text: String) -> Bool {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/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/MemojiTextView.swift:36:32: error: 'UITextInputMode' is unavailable in watchOS
34 | /// Opens the emoji keyboard when the text field becomes active.
35 | override public var textInputMode: UITextInputMode? {
36 | if let emojiKeyboard = UITextInputMode.activeInputModes.first(where: { $0.primaryLanguage == "emoji" }) {
| `- error: 'UITextInputMode' is unavailable in watchOS
37 | return emojiKeyboard
38 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInput.h:374:12: note: 'UITextInputMode' has been explicitly marked unavailable here
372 | * based on the keyboard language. Different UITextInputMode objects may have the same primaryLanguage. */
373 | UIKIT_EXTERN API_AVAILABLE(ios(4.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
374 | @interface UITextInputMode : NSObject <NSSecureCoding>
| `- note: 'UITextInputMode' has been explicitly marked unavailable here
375 |
376 | @property (nullable, nonatomic, readonly, strong) NSString *primaryLanguage; // The primary language, if any, of the input mode. A BCP 47 language identifier such as en-US
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:91:13: error: 'supportsAdaptiveImageGlyph' is only available in watchOS 11.0 or newer
24 | /// - Supports a maximum number of characters for text input.
25 | /// - Communicates updates through a delegate.
26 | class MemojiTextView: UITextView {
| `- note: add '@available' attribute to enclosing class
27 | /// Delegate to notify about updates in the text field.
28 | weak var emojiDelegate: MemojiTextViewDelegate?
:
78 | // MARK: Methods
79 |
80 | private func comminInit() {
| `- note: add '@available' attribute to enclosing instance method
81 | delegate = self
82 | textColor = .clear
:
89 | allowsEditingTextAttributes = true
90 | if #available(iOS 18.0, *) {
91 | supportsAdaptiveImageGlyph = true
| |- error: 'supportsAdaptiveImageGlyph' is only available in watchOS 11.0 or newer
| `- note: add 'if #available' version check
92 | }
93 |
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:101:23: error: 'UIToolbar' is unavailable in watchOS
99 | @available(iOS 14.0, *)
100 | private func addDoneToolbar() {
101 | let toolbar = UIToolbar()
| `- error: 'UIToolbar' is unavailable in watchOS
102 | toolbar.sizeToFit()
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/UIToolbar.h:23:12: note: 'UIToolbar' has been explicitly marked unavailable here
21 |
22 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
23 | @interface UIToolbar : UIView <UIBarPositioning>
| `- note: 'UIToolbar' has been explicitly marked unavailable here
24 |
25 | @property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR API_UNAVAILABLE(tvos); // default is UIBarStyleDefault
/Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift:101:23: error: 'init()' is unavailable in watchOS
99 | @available(iOS 14.0, *)
100 | private func addDoneToolbar() {
101 | let toolbar = UIToolbar()
| `- error: 'init()' is unavailable in watchOS
102 | toolbar.sizeToFit()
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/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.
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/MemojiTextView.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile MemojiTextView.swift
SwiftCompile normal arm64_32 Compiling\ String.swift /Users/admin/builder/spi-builder-workspace/Sources/Extension/String.swift (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Extension/String.swift (in target 'MemojiView' from project 'MemojiView')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile String.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-09-21 14:59:30.888 xcodebuild[827:4845] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftEmitModule normal arm64 Emitting\ module\ for\ MemojiView (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64 (in target 'MemojiView' from project 'MemojiView')
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ MemojiView (in target 'MemojiView' from project 'MemojiView')
SwiftCompile normal arm64_32 (in target 'MemojiView' from project 'MemojiView')
Building workspace MemojiView with scheme MemojiView
(5 failures)
BUILD FAILURE 6.4 watchOS