The Swift Package Index logo.Swift Package Index

Build Information

Failed to build TunnelMonitorKit, reference master (c15886), with Swift 6.4 for watchOS using Xcode 27.0 on 20 Sep 2026 16:05:15 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 TunnelMonitorKit -destination generic/platform=watchOS

Build Log

 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:74:33: error: 'NEVPNStatus' is unavailable in watchOS
 72 |     }
 73 |
 74 |     override public var status: NEVPNStatus {
    |                                 `- error: 'NEVPNStatus' is unavailable in watchOS
 75 |         return currentStatus
 76 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:43:30: error: 'status' is unavailable in watchOS
 41 |
 42 |     override public var status: NEVPNStatus {
 43 |         return nativeSession.status
    |                              `- error: 'status' is unavailable in watchOS
 44 |     }
 45 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:145:34: note: 'status' has been explicitly marked unavailable here
143 |  * @discussion The current status of the VPN.
144 |  */
145 | @property (readonly) NEVPNStatus status API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                  `- note: 'status' has been explicitly marked unavailable here
146 |
147 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:47:23: error: 'stopTunnel()' is unavailable in watchOS
 45 |
 46 |     override public func stopTunnel() {
 47 |         nativeSession.stopTunnel()
    |                       `- error: 'stopTunnel()' is unavailable in watchOS
 48 |     }
 49 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:39:1: note: 'stopTunnel()' has been explicitly marked unavailable here
37 |  * @discussion This function is used to stop the tunnel. The tunnel disconnect process is started and this function returns immediately.
38 |  */
39 | - (void)stopTunnel API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'stopTunnel()' has been explicitly marked unavailable here
40 |
41 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:51:27: error: 'startTunnel(options:)' is unavailable in watchOS
 49 |
 50 |     override public func startTunnel(options: [String: Any]?) throws {
 51 |         try nativeSession.startTunnel(options: options)
    |                           `- error: 'startTunnel(options:)' is unavailable in watchOS
 52 |     }
 53 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:33:1: note: 'startTunnel(options:)' has been explicitly marked unavailable here
31 |  * @return YES if the tunnel was started successfully, NO if an error occurred.
32 |  */
33 | - (BOOL)startTunnelWithOptions:(nullable NSDictionary<NSString *,id> *)options andReturnError:(NSError **)error API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'startTunnel(options:)' has been explicitly marked unavailable here
34 |
35 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:55:27: error: 'sendProviderMessage(_:responseHandler:)' is unavailable in watchOS
 53 |
 54 |     override public func sendProviderMessage(_ message: Data, responseHandler: ResponseCompletion) throws {
 55 |         try nativeSession.sendProviderMessage(message, responseHandler: responseHandler)
    |                           `- error: 'sendProviderMessage(_:responseHandler:)' is unavailable in watchOS
 56 |     }
 57 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:51:1: note: 'sendProviderMessage(_:responseHandler:)' has been explicitly marked unavailable here
49 |  * @return YES if the message was sent successfully, NO if an error occurred.
50 |  */
51 | - (BOOL)sendProviderMessage:(NSData *)messageData returnError:(NSError **)error responseHandler:(nullable void (^)( NSData * __nullable responseData))responseHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'sendProviderMessage(_:responseHandler:)' has been explicitly marked unavailable here
52 |
53 | @end
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:79:25: error: 'NEVPNStatus' is unavailable in watchOS
 77 |
 78 |     override public func stopTunnel() {
 79 |         currentStatus = NEVPNStatus.disconnected
    |                         `- error: 'NEVPNStatus' is unavailable in watchOS
 80 |     }
 81 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMTunnelProviderManagerFactory.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMTunnelProviderSession.swift
SwiftCompile normal arm64_32 Compiling\ PacketTunnelConfiguration.swift,\ TunnelConfigurationError.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/TunnelConfigurationError.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:63:45: error: 'NEPacketTunnelNetworkSettings' is unavailable in watchOS
61 |
62 |     /// Constructs a settings object to be consumed by the VPN extension.
63 |     public var packetTunnelNetworkSettings: NEPacketTunnelNetworkSettings {
   |                                             `- error: 'NEPacketTunnelNetworkSettings' is unavailable in watchOS
64 |         let networkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: tunnelRemoteAddress)
65 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelNetworkSettings.h:45:12: note: 'NEPacketTunnelNetworkSettings' has been explicitly marked unavailable here
 43 |  */
 44 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 45 | @interface NEPacketTunnelNetworkSettings : NETunnelNetworkSettings
    |            `- note: 'NEPacketTunnelNetworkSettings' has been explicitly marked unavailable here
 46 |
 47 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:81:57: error: 'NEIPv4Route' is unavailable in watchOS
79 |     }
80 |
81 |     private static func parseRoutes(string: String) -> [NEIPv4Route] {
   |                                                         `- error: 'NEIPv4Route' is unavailable in watchOS
82 |         return string.split(separator: ",")
83 |             .map { $0.trimmingCharacters(in: .whitespacesAndNewlines) }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEIPv4Settings.h:85:12: note: 'NEIPv4Route' has been explicitly marked unavailable here
 83 |  */
 84 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 85 | @interface NEIPv4Route : NSObject <NSSecureCoding,NSCopying>
    |            `- note: 'NEIPv4Route' has been explicitly marked unavailable here
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:64:31: error: 'NEPacketTunnelNetworkSettings' is unavailable in watchOS
62 |     /// Constructs a settings object to be consumed by the VPN extension.
63 |     public var packetTunnelNetworkSettings: NEPacketTunnelNetworkSettings {
64 |         let networkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: tunnelRemoteAddress)
   |                               `- error: 'NEPacketTunnelNetworkSettings' is unavailable in watchOS
65 |
66 |         let ipv4Settings = NEIPv4Settings(addresses: [tunnelAddress], subnetMasks: [tunnelSubnet])
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelNetworkSettings.h:45:12: note: 'NEPacketTunnelNetworkSettings' has been explicitly marked unavailable here
 43 |  */
 44 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 45 | @interface NEPacketTunnelNetworkSettings : NETunnelNetworkSettings
    |            `- note: 'NEPacketTunnelNetworkSettings' has been explicitly marked unavailable here
 46 |
 47 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:64:31: error: 'init(tunnelRemoteAddress:)' is unavailable in watchOS
62 |     /// Constructs a settings object to be consumed by the VPN extension.
63 |     public var packetTunnelNetworkSettings: NEPacketTunnelNetworkSettings {
64 |         let networkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: tunnelRemoteAddress)
   |                               `- error: 'init(tunnelRemoteAddress:)' is unavailable in watchOS
65 |
66 |         let ipv4Settings = NEIPv4Settings(addresses: [tunnelAddress], subnetMasks: [tunnelSubnet])
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelNetworkSettings.h:34:1: note: 'init(tunnelRemoteAddress:)' has been explicitly marked unavailable here
32 |  * @param address The address of the remote endpoint that is providing the tunnel service.
33 |  */
34 | - (instancetype)initWithTunnelRemoteAddress:(NSString *)address API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'init(tunnelRemoteAddress:)' has been explicitly marked unavailable here
35 |
36 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:66:28: error: 'NEIPv4Settings' is unavailable in watchOS
64 |         let networkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: tunnelRemoteAddress)
65 |
66 |         let ipv4Settings = NEIPv4Settings(addresses: [tunnelAddress], subnetMasks: [tunnelSubnet])
   |                            `- error: 'NEIPv4Settings' is unavailable in watchOS
67 |         ipv4Settings.includedRoutes = TMNetworkSettings.parseRoutes(string: includedRoutes)
68 |         ipv4Settings.excludedRoutes = TMNetworkSettings.parseRoutes(string: excludedRoutes)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEIPv4Settings.h:28:12: note: 'NEIPv4Settings' has been explicitly marked unavailable here
 26 |  */
 27 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 28 | @interface NEIPv4Settings : NSObject <NSSecureCoding,NSCopying>
    |            `- note: 'NEIPv4Settings' has been explicitly marked unavailable here
 29 |
 30 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:66:28: error: 'init(addresses:subnetMasks:)' is unavailable in watchOS
64 |         let networkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: tunnelRemoteAddress)
65 |
66 |         let ipv4Settings = NEIPv4Settings(addresses: [tunnelAddress], subnetMasks: [tunnelSubnet])
   |                            `- error: 'init(addresses:subnetMasks:)' is unavailable in watchOS
67 |         ipv4Settings.includedRoutes = TMNetworkSettings.parseRoutes(string: includedRoutes)
68 |         ipv4Settings.excludedRoutes = TMNetworkSettings.parseRoutes(string: excludedRoutes)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEIPv4Settings.h:37:1: note: 'init(addresses:subnetMasks:)' has been explicitly marked unavailable here
 35 |  * @return The initialized object.
 36 |  */
 37 | - (instancetype)initWithAddresses:(NSArray<NSString *> *)addresses subnetMasks:(NSArray<NSString *> *)subnetMasks API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init(addresses:subnetMasks:)' has been explicitly marked unavailable here
 38 |
 39 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:67:22: error: 'includedRoutes' is unavailable in watchOS
65 |
66 |         let ipv4Settings = NEIPv4Settings(addresses: [tunnelAddress], subnetMasks: [tunnelSubnet])
67 |         ipv4Settings.includedRoutes = TMNetworkSettings.parseRoutes(string: includedRoutes)
   |                      `- error: 'includedRoutes' is unavailable in watchOS
68 |         ipv4Settings.excludedRoutes = TMNetworkSettings.parseRoutes(string: excludedRoutes)
69 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEIPv4Settings.h:68:52: note: 'includedRoutes' has been explicitly marked unavailable here
 66 |  * @discussion An array of NEIPv4Route objects. Traffic matching these routes will be routed through the virtual interface used by the VPN tunnel.
 67 |  */
 68 | @property (copy, nullable) NSArray<NEIPv4Route *> *includedRoutes API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                                    `- note: 'includedRoutes' has been explicitly marked unavailable here
 69 |
 70 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:68:22: error: 'excludedRoutes' is unavailable in watchOS
66 |         let ipv4Settings = NEIPv4Settings(addresses: [tunnelAddress], subnetMasks: [tunnelSubnet])
67 |         ipv4Settings.includedRoutes = TMNetworkSettings.parseRoutes(string: includedRoutes)
68 |         ipv4Settings.excludedRoutes = TMNetworkSettings.parseRoutes(string: excludedRoutes)
   |                      `- error: 'excludedRoutes' is unavailable in watchOS
69 |
70 |         networkSettings.ipv4Settings = ipv4Settings
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEIPv4Settings.h:74:52: note: 'excludedRoutes' has been explicitly marked unavailable here
 72 |  * @discussion An array of NEIPv4Route objects. Traffic matching these routes will be routed through the current primary physical interface of the device.
 73 |  */
 74 | @property (copy, nullable) NSArray<NEIPv4Route *> *excludedRoutes API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                                    `- note: 'excludedRoutes' has been explicitly marked unavailable here
 75 |
 76 | @end
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:70:25: error: 'ipv4Settings' is unavailable in watchOS
68 |         ipv4Settings.excludedRoutes = TMNetworkSettings.parseRoutes(string: excludedRoutes)
69 |
70 |         networkSettings.ipv4Settings = ipv4Settings
   |                         `- error: 'ipv4Settings' is unavailable in watchOS
71 |
72 |         if let overheadBytes = tunnelOverheadBytes {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelNetworkSettings.h:51:44: note: 'ipv4Settings' has been explicitly marked unavailable here
 49 |  * @discussion An NEIPv4Settings object that contains the desired tunnel IPv4 settings.
 50 |  */
 51 | @property (copy, nullable) NEIPv4Settings *IPv4Settings API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                            `- note: 'ipv4Settings' has been explicitly marked unavailable here
 52 |
 53 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:73:29: error: 'tunnelOverheadBytes' is unavailable in watchOS
71 |
72 |         if let overheadBytes = tunnelOverheadBytes {
73 |             networkSettings.tunnelOverheadBytes = NSNumber(value: overheadBytes)
   |                             `- error: 'tunnelOverheadBytes' is unavailable in watchOS
74 |         }
75 |         networkSettings.mtu = NSNumber(value: mtu)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelNetworkSettings.h:63:38: note: 'tunnelOverheadBytes' has been explicitly marked unavailable here
 61 |  * @discussion An NSNumber object containing the number of bytes of overhead appended to each outbound packet through the tunnel. The MTU for the TUN interface is computed by subtracting this value from the MTU of the primary physical interface.
 62 |  */
 63 | @property (copy, nullable) NSNumber *tunnelOverheadBytes API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                      `- note: 'tunnelOverheadBytes' has been explicitly marked unavailable here
 64 |
 65 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:75:25: error: 'mtu' is unavailable in watchOS
73 |             networkSettings.tunnelOverheadBytes = NSNumber(value: overheadBytes)
74 |         }
75 |         networkSettings.mtu = NSNumber(value: mtu)
   |                         `- error: 'mtu' is unavailable in watchOS
76 |         networkSettings.dnsSettings = NEDNSSettings(servers: dns.components(separatedBy: ","))
77 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelNetworkSettings.h:69:38: note: 'mtu' has been explicitly marked unavailable here
 67 |  * @discussion An NSNumber object containing the Maximum Transmission Unit (MTU) size in bytes to assign to the TUN interface. If this property is set, the tunnelOverheadBytes property is ignored.
 68 |  */
 69 | @property (copy, nullable) NSNumber *MTU API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                      `- note: 'mtu' has been explicitly marked unavailable here
 70 |
 71 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:76:25: error: 'dnsSettings' is unavailable in watchOS
74 |         }
75 |         networkSettings.mtu = NSNumber(value: mtu)
76 |         networkSettings.dnsSettings = NEDNSSettings(servers: dns.components(separatedBy: ","))
   |                         `- error: 'dnsSettings' is unavailable in watchOS
77 |
78 |         return networkSettings
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelNetworkSettings.h:46:43: note: 'dnsSettings' has been explicitly marked unavailable here
44 |  * @discussion An NEDNSSettings object that contains the desired tunnel DNS settings.
45 |  */
46 | @property (copy, nullable) NEDNSSettings *DNSSettings API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   |                                           `- note: 'dnsSettings' has been explicitly marked unavailable here
47 |
48 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:76:39: error: 'NEDNSSettings' is unavailable in watchOS
74 |         }
75 |         networkSettings.mtu = NSNumber(value: mtu)
76 |         networkSettings.dnsSettings = NEDNSSettings(servers: dns.components(separatedBy: ","))
   |                                       `- error: 'NEDNSSettings' is unavailable in watchOS
77 |
78 |         return networkSettings
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEDNSSettings.h:37:12: note: 'NEDNSSettings' has been explicitly marked unavailable here
 35 |  */
 36 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 37 | @interface NEDNSSettings : NSObject <NSSecureCoding,NSCopying>
    |            `- note: 'NEDNSSettings' has been explicitly marked unavailable here
 38 |
 39 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:76:39: error: 'init(servers:)' is unavailable in watchOS
74 |         }
75 |         networkSettings.mtu = NSNumber(value: mtu)
76 |         networkSettings.dnsSettings = NEDNSSettings(servers: dns.components(separatedBy: ","))
   |                                       `- error: 'init(servers:)' is unavailable in watchOS
77 |
78 |         return networkSettings
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEDNSSettings.h:50:1: note: 'init(servers:)' has been explicitly marked unavailable here
 48 |  * @param servers An array of DNS server IP address strings.
 49 |  */
 50 | - (instancetype)initWithServers:(NSArray<NSString *> *)servers API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init(servers:)' has been explicitly marked unavailable here
 51 |
 52 | /*!
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PacketTunnelConfiguration.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/TunnelConfigurationError.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TunnelConfigurationError.swift
SwiftCompile normal arm64_32 Compiling\ TMNativeTunnelProviderManager.swift,\ TMPacketTunnelProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:16:34: error: 'NETunnelProviderManager' is unavailable in watchOS
14 |
15 |     private let monitor = TunnelMonitor()
16 |     private let providerManager: NETunnelProviderManager
   |                                  `- error: 'NETunnelProviderManager' is unavailable in watchOS
17 |
18 |     private var pollingInterval = 1.0
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderManager.h:31:12: note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 29 |  */
 30 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 31 | @interface NETunnelProviderManager : NEVPNManager
    |            `- note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 32 |
 33 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:20:39: error: 'NEVPNStatus' is unavailable in watchOS
18 |     private var pollingInterval = 1.0
19 |
20 |     override public var tunnelStatus: NEVPNStatus { session?.status ?? .invalid }
   |                                       `- error: 'NEVPNStatus' is unavailable in watchOS
21 |     override public var tunnelMonitor: TunnelMonitor { monitor }
22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:24:20: error: 'NETunnelProviderManager' is unavailable in watchOS
22 |
23 |     /// Initialise VPNManager, which also saves/updates a tunnel configuration to the phone's VPN settings
24 |     init(provider: NETunnelProviderManager) {
   |                    `- error: 'NETunnelProviderManager' is unavailable in watchOS
25 |         providerManager = provider
26 |         super.init()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderManager.h:31:12: note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 29 |  */
 30 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 31 | @interface NETunnelProviderManager : NEVPNManager
    |            `- note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 32 |
 33 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:31:37: error: 'NEVPNStatusDidChange' is unavailable in watchOS
29 |             self,
30 |             selector: #selector(handleVPNStatusChange),
31 |             name: Notification.Name.NEVPNStatusDidChange,
   |                                     `- error: 'NEVPNStatusDidChange' is unavailable in watchOS
32 |             object: nil
33 |         )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:38:31: note: 'NEVPNStatusDidChange' has been explicitly marked unavailable here
 36 |
 37 | /*! @const NEVPNStatusDidChangeNotification Name of the NSNotification that is posted when the VPN status changes. */
 38 | NEVPN_EXPORT NSString * const NEVPNStatusDidChangeNotification API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                               `- note: 'NEVPNStatusDidChange' has been explicitly marked unavailable here
 39 |
 40 | /*! @const NEVPNConnectionStartOptionUsername Specify this key in the options dictionary passed to startVPNTunnelWithOptions:returningError: to override the username saved in the configuration. The value is a string */
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:37:65: error: 'NETunnelProviderSession' is unavailable in watchOS
35 |
36 |     override var session: TMTunnelProviderSession? {
37 |         if let providerSession = providerManager.connection as? NETunnelProviderSession {
   |                                                                 `- error: 'NETunnelProviderSession' is unavailable in watchOS
38 |             return TMTunnelProviderSessionNative(nativeSession: providerSession)
39 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:22:12: note: 'NETunnelProviderSession' has been explicitly marked unavailable here
20 |
21 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
22 | @interface NETunnelProviderSession : NEVPNConnection
   |            `- note: 'NETunnelProviderSession' has been explicitly marked unavailable here
23 |
24 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:37:50: error: 'connection' is unavailable in watchOS
35 |
36 |     override var session: TMTunnelProviderSession? {
37 |         if let providerSession = providerManager.connection as? NETunnelProviderSession {
   |                                                  `- error: 'connection' is unavailable in watchOS
38 |             return TMTunnelProviderSessionNative(nativeSession: providerSession)
39 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:142:39: note: 'connection' has been explicitly marked unavailable here
140 |  * @discussion The NEVPNConnection object used for controlling the VPN tunnel.
141 |  */
142 | @property (readonly) NEVPNConnection *connection API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                       `- note: 'connection' has been explicitly marked unavailable here
143 |
144 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:49:33: error: 'connection' is unavailable in watchOS
47 |         }
48 |         do {
49 |             try providerManager.connection.startVPNTunnel()
   |                                 `- error: 'connection' is unavailable in watchOS
50 |         } catch {
51 |             print("\(error)")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:142:39: note: 'connection' has been explicitly marked unavailable here
140 |  * @discussion The NEVPNConnection object used for controlling the VPN tunnel.
141 |  */
142 | @property (readonly) NEVPNConnection *connection API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                       `- note: 'connection' has been explicitly marked unavailable here
143 |
144 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:49:44: error: 'startVPNTunnel()' is unavailable in watchOS
47 |         }
48 |         do {
49 |             try providerManager.connection.startVPNTunnel()
   |                                            `- error: 'startVPNTunnel()' is unavailable in watchOS
50 |         } catch {
51 |             print("\(error)")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:112:1: note: 'startVPNTunnel()' has been explicitly marked unavailable here
110 |  * @return YES if the VPN tunnel was started successfully, NO if an error occurred.
111 |  */
112 | - (BOOL)startVPNTunnelAndReturnError:(NSError **)error API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'startVPNTunnel()' has been explicitly marked unavailable here
113 |
114 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:58:25: error: 'connection' is unavailable in watchOS
56 |     /// Stop the service, closing the existing VPN Tunnel.
57 |     override public func stopTunnel() {
58 |         providerManager.connection.stopVPNTunnel()
   |                         `- error: 'connection' is unavailable in watchOS
59 |         tunnelMonitor.stopMonitoring()
60 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:142:39: note: 'connection' has been explicitly marked unavailable here
140 |  * @discussion The NEVPNConnection object used for controlling the VPN tunnel.
141 |  */
142 | @property (readonly) NEVPNConnection *connection API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                       `- note: 'connection' has been explicitly marked unavailable here
143 |
144 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:58:36: error: 'stopVPNTunnel()' is unavailable in watchOS
56 |     /// Stop the service, closing the existing VPN Tunnel.
57 |     override public func stopTunnel() {
58 |         providerManager.connection.stopVPNTunnel()
   |                                    `- error: 'stopVPNTunnel()' is unavailable in watchOS
59 |         tunnelMonitor.stopMonitoring()
60 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:132:1: note: 'stopVPNTunnel()' has been explicitly marked unavailable here
130 |  * @discussion This function is used to stop the VPN tunnel. The VPN tunnel disconnect process is started and this function returns immediately.
131 |  */
132 | - (void)stopVPNTunnel API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'stopVPNTunnel()' has been explicitly marked unavailable here
133 |
134 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift:51:46: error: 'NETunnelNetworkSettings' is unavailable in watchOS
49 |     func configureTunnel(
50 |         userConfigurationData: Data?,
51 |         settingsApplicationBlock: @escaping (NETunnelNetworkSettings?, ((Error?) -> Void)?) -> Void,
   |                                              `- error: 'NETunnelNetworkSettings' is unavailable in watchOS
52 |         completionHandler: @escaping (TMTunnelConfigurationError?) -> Void
53 |     )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelNetworkSettings.h:27:12: note: 'NETunnelNetworkSettings' has been explicitly marked unavailable here
25 |  */
26 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
27 | @interface NETunnelNetworkSettings : NSObject <NSSecureCoding,NSCopying>
   |            `- note: 'NETunnelNetworkSettings' has been explicitly marked unavailable here
28 |
29 | /*!
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMNativeTunnelProviderManager.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMPacketTunnelProvider.swift
SwiftCompile normal arm64_32 Compiling\ MessageContainer.swift,\ MessageRouter.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/MessageContainer.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/MessageRouter.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/MessageContainer.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile MessageContainer.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/MessageRouter.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile MessageRouter.swift
SwiftCompile normal arm64_32 Compiling\ TMLogger.swift,\ TMOSLogger.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMLogger.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMOSLogger.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMLogger.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMLogger.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMOSLogger.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMOSLogger.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ TunnelMonitorKit (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
SwiftCompile normal arm64 (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-20 12:05:06.286 xcodebuild[652:4213] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-09-20 12:05:06.428 xcodebuild[652:4213] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ TunnelMonitorKit (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
	SwiftCompile normal arm64_32 (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
	Building workspace TunnelMonitorKit with scheme TunnelMonitorKit
(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:
  TunnelMonitorKit: /Users/admin/builder/spi-builder-workspace
resolved source packages: TunnelMonitorKit
2026-09-20 12:05:11.951 xcodebuild[747:4591] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-09-20 12:05:12.090 xcodebuild[747:4591] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "TunnelMonitorKit",
  "name" : "TunnelMonitorKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "11.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "TunnelMonitorKit",
      "targets" : [
        "TunnelMonitorKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TunnelMonitorKitTests",
      "module_type" : "SwiftTarget",
      "name" : "TunnelMonitorKitTests",
      "path" : "Tests/TunnelMonitorKitTests",
      "sources" : [
        "MockingTests/TMMockTunnelProviderManagerTests.swift",
        "MockingTests/TMTunnelProviderSessionMockTests.swift",
        "TunnelCommunicationTests/MessageContainerTests.swift",
        "TunnelCommunicationTests/MessageRouterTests.swift",
        "TunnelCommunicationTests/TunnelMonitorTests.swift",
        "TunnelConfigurationTests/PacketTunnelConfigurationTests.swift",
        "UtilTests/NEIPv4RouteTests.swift"
      ],
      "target_dependencies" : [
        "TunnelMonitorKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TunnelMonitorKit",
      "module_type" : "SwiftTarget",
      "name" : "TunnelMonitorKit",
      "path" : "Sources/TunnelMonitorKit",
      "product_memberships" : [
        "TunnelMonitorKit"
      ],
      "sources" : [
        "Logging/TMLogger.swift",
        "Logging/TMOSLogger.swift",
        "Mocking/TMNativeTunnelProviderManager.swift",
        "Mocking/TMPacketTunnelProvider.swift",
        "Mocking/TMPacketTunnelProviderNative.swift",
        "Mocking/TMTunnelProviderManager.swift",
        "Mocking/TMTunnelProviderManagerFactory.swift",
        "Mocking/TMTunnelProviderSession.swift",
        "TunnelCommunication/MessageContainer.swift",
        "TunnelCommunication/MessageRouter.swift",
        "TunnelCommunication/TMCommunicationError.swift",
        "TunnelCommunication/TunnelMonitor.swift",
        "TunnelConfiguration/PacketTunnelConfiguration.swift",
        "TunnelConfiguration/TunnelConfigurationError.swift",
        "TunnelMonitorKit.swift",
        "Util/NEIPv4Route+Util.swift",
        "Util/NEProviderStopReason+StringConvertible.swift",
        "Util/NEVPNStatus+Util.swift",
        "Util/NSTextCheckingResult+Util.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
{
  "workspace" : {
    "name" : "TunnelMonitorKit",
    "schemes" : [
      "TunnelMonitorKit"
    ]
  }
}
2026-09-20 12:05:13.140 xcodebuild[755:4662] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-09-20 12:05:13.279 xcodebuild[755:4662] [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 TunnelMonitorKit -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 TunnelMonitorKit -destination generic/platform=watchOS
Resolve Package Graph
Resolved source packages:
  TunnelMonitorKit: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (3 targets)
    Target 'TunnelMonitorKitTests-product' in project 'TunnelMonitorKit'
        ➜ Explicit dependency on target 'TunnelMonitorKit' in project 'TunnelMonitorKit'
    Target 'TunnelMonitorKit-product' in project 'TunnelMonitorKit'
        ➜ Explicit dependency on target 'TunnelMonitorKit' in project 'TunnelMonitorKit'
    Target 'TunnelMonitorKit' in project 'TunnelMonitorKit' (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 TunnelMonitorKit normal arm64_32 com.apple.xcode.tools.swift.compiler (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    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 TunnelMonitorKit -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit.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 -profile-coverage-mapping -profile-generate -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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit-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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit_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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftDriver TunnelMonitorKit normal arm64 com.apple.xcode.tools.swift.compiler (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    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 TunnelMonitorKit -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64/TunnelMonitorKit.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 -profile-coverage-mapping -profile-generate -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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64/TunnelMonitorKit-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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64/TunnelMonitorKit.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64/TunnelMonitorKit-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64/TunnelMonitorKit_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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64/TunnelMonitorKit-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftCompile normal arm64 Compiling\ TMLogger.swift,\ TMOSLogger.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMLogger.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMOSLogger.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMLogger.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMLogger.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMOSLogger.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMOSLogger.swift
SwiftCompile normal arm64 Compiling\ TMTunnelProviderManagerFactory.swift,\ TMTunnelProviderSession.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:46:9: error: 'NETunnelProviderManager' is unavailable in watchOS
 44 |     ) {
 45 |         // Initialise VPNManager, which also saves/updates a tunnel configuration to the phone's VPN settings
 46 |         NETunnelProviderManager.loadAllFromPreferences { (savedManagers, error) in
    |         `- error: 'NETunnelProviderManager' is unavailable in watchOS
 47 |             if let error = error {
 48 |                 log(.error, "Failed to load list of tunnel provider managers with error: \(error)")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderManager.h:31:12: note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 29 |  */
 30 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 31 | @interface NETunnelProviderManager : NEVPNManager
    |            `- note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 32 |
 33 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:46:33: error: 'loadAllFromPreferences(completionHandler:)' is unavailable in watchOS
 44 |     ) {
 45 |         // Initialise VPNManager, which also saves/updates a tunnel configuration to the phone's VPN settings
 46 |         NETunnelProviderManager.loadAllFromPreferences { (savedManagers, error) in
    |                                 `- error: 'loadAllFromPreferences(completionHandler:)' is unavailable in watchOS
 47 |             if let error = error {
 48 |                 log(.error, "Failed to load list of tunnel provider managers with error: \(error)")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderManager.h:38:1: note: 'loadAllFromPreferences(completionHandler:)' has been explicitly marked unavailable here
 36 |  * @param completionHandler A block that takes an array NETunnelProviderManager objects. The array passed to the block may be empty if no NETunnelProvider configurations were successfully read from the disk.  The NSError passed to this block will be nil if the load operation succeeded, non-nil otherwise.
 37 |  */
 38 | + (void)loadAllFromPreferencesWithCompletionHandler:(void (^)(NSArray<NETunnelProviderManager *> * __nullable managers, NSError * __nullable error))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'loadAllFromPreferences(completionHandler:)' has been explicitly marked unavailable here
 39 |
 40 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:57:26: error: 'loadFromPreferences(completionHandler:)' is unavailable in watchOS
 55 |                 return
 56 |             }
 57 |             savedManager.loadFromPreferences { (error) in
    |                          `- error: 'loadFromPreferences(completionHandler:)' is unavailable in watchOS
 58 |                 if let error = error {
 59 |                     log(.error, "Failed to load tunnel provider manager: \(savedManager) error: \(error)")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:82:1: note: 'loadFromPreferences(completionHandler:)' has been explicitly marked unavailable here
 80 |  * @param completionHandler A block that will be called on the main thread when the load operation is completed. The NSError passed to this block will be nil if the load operation succeeded, non-nil otherwise.
 81 |  */
 82 | - (void)loadFromPreferencesWithCompletionHandler:(void (^)(NSError * __nullable error))completionHandler API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'loadFromPreferences(completionHandler:)' has been explicitly marked unavailable here
 83 |
 84 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:64:32: error: 'NETunnelProviderProtocol' is unavailable in watchOS
 62 |                 }
 63 |
 64 |                 let provider = NETunnelProviderProtocol()
    |                                `- error: 'NETunnelProviderProtocol' is unavailable in watchOS
 65 |                 provider.providerBundleIdentifier = tunnelSettings.tunnelBundleID
 66 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderProtocol.h:28:12: note: 'NETunnelProviderProtocol' has been explicitly marked unavailable here
26 |  */
27 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
28 | @interface NETunnelProviderProtocol : NEVPNProtocol
   |            `- note: 'NETunnelProviderProtocol' has been explicitly marked unavailable here
29 |
30 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:65:26: error: 'providerBundleIdentifier' is unavailable in watchOS
 63 |
 64 |                 let provider = NETunnelProviderProtocol()
 65 |                 provider.providerBundleIdentifier = tunnelSettings.tunnelBundleID
    |                          `- error: 'providerBundleIdentifier' is unavailable in watchOS
 66 |
 67 |                 let encoder = JSONEncoder()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderProtocol.h:40:38: note: 'providerBundleIdentifier' has been explicitly marked unavailable here
38 |  * @discussion A string containing the bundle identifier of the NETunnelProvider to be used by this configuration.
39 |  */
40 | @property (copy, nullable) NSString *providerBundleIdentifier API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   |                                      `- note: 'providerBundleIdentifier' has been explicitly marked unavailable here
41 |
42 | @end
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:76:30: error: 'providerConfiguration' is unavailable in watchOS
 74 |                     ]
 75 |
 76 |                     provider.providerConfiguration = config
    |                              `- error: 'providerConfiguration' is unavailable in watchOS
 77 |                     provider.serverAddress = networkSettings.tunnelRemoteAddress
 78 |                     provider.disconnectOnSleep = tunnelSettings.disconnectOnSleep
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderProtocol.h:34:57: note: 'providerConfiguration' has been explicitly marked unavailable here
32 |  * @discussion A dictionary containing NETunnelProvider vendor-specific configuration parameters. This dictionary is passed as-is to NETunnelProviders when a tunnel is started.
33 |  */
34 | @property (copy, nullable) NSDictionary<NSString *,id> *providerConfiguration API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   |                                                         `- note: 'providerConfiguration' has been explicitly marked unavailable here
35 |
36 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:77:30: error: 'serverAddress' is unavailable in watchOS
 75 |
 76 |                     provider.providerConfiguration = config
 77 |                     provider.serverAddress = networkSettings.tunnelRemoteAddress
    |                              `- error: 'serverAddress' is unavailable in watchOS
 78 |                     provider.disconnectOnSleep = tunnelSettings.disconnectOnSleep
 79 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNProtocol.h:31:38: note: 'serverAddress' has been explicitly marked unavailable here
 29 |  * @discussion The VPN server. Depending on the protocol, may be an IP address, host name, or URL.
 30 |  */
 31 | @property (copy, nullable) NSString *serverAddress API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                      `- note: 'serverAddress' has been explicitly marked unavailable here
 32 |
 33 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:78:30: error: 'disconnectOnSleep' is unavailable in watchOS
 76 |                     provider.providerConfiguration = config
 77 |                     provider.serverAddress = networkSettings.tunnelRemoteAddress
 78 |                     provider.disconnectOnSleep = tunnelSettings.disconnectOnSleep
    |                              `- error: 'disconnectOnSleep' is unavailable in watchOS
 79 |
 80 |                     savedManager.localizedDescription = tunnelSettings.managerLocalizedDescription
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNProtocol.h:67:16: note: 'disconnectOnSleep' has been explicitly marked unavailable here
 65 |  * @discussion If YES, the VPN connection will be disconnected when the device goes to sleep. The default is NO.
 66 |  */
 67 | @property BOOL disconnectOnSleep API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                `- note: 'disconnectOnSleep' has been explicitly marked unavailable here
 68 |
 69 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:80:34: error: 'localizedDescription' is unavailable in watchOS
 78 |                     provider.disconnectOnSleep = tunnelSettings.disconnectOnSleep
 79 |
 80 |                     savedManager.localizedDescription = tunnelSettings.managerLocalizedDescription
    |                                  `- error: 'localizedDescription' is unavailable in watchOS
 81 |                     savedManager.protocolConfiguration = provider
 82 |                     savedManager.isEnabled = true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:124:38: note: 'localizedDescription' has been explicitly marked unavailable here
122 |  * @discussion A string containing a description of the VPN.
123 |  */
124 | @property (copy, nullable) NSString *localizedDescription API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                      `- note: 'localizedDescription' has been explicitly marked unavailable here
125 |
126 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:81:34: error: 'protocolConfiguration' is unavailable in watchOS
 79 |
 80 |                     savedManager.localizedDescription = tunnelSettings.managerLocalizedDescription
 81 |                     savedManager.protocolConfiguration = provider
    |                                  `- error: 'protocolConfiguration' is unavailable in watchOS
 82 |                     savedManager.isEnabled = true
 83 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:136:45: note: 'protocolConfiguration' has been explicitly marked unavailable here
134 |  * @discussion An NEVPNProtocol object containing the protocol-specific portion of the VPN configuration.
135 |  */
136 | @property (strong, nullable) NEVPNProtocol *protocolConfiguration API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                             `- note: 'protocolConfiguration' has been explicitly marked unavailable here
137 |
138 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:82:34: error: 'isEnabled' is unavailable in watchOS
 80 |                     savedManager.localizedDescription = tunnelSettings.managerLocalizedDescription
 81 |                     savedManager.protocolConfiguration = provider
 82 |                     savedManager.isEnabled = true
    |                                  `- error: 'isEnabled' is unavailable in watchOS
 83 |
 84 |                     savedManager.saveToPreferences { error in
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:148:35: note: 'isEnabled' has been explicitly marked unavailable here
146 |  * @discussion Toggles the enabled status of the VPN. Setting this property will disable VPN configurations of other apps. This property will be set to NO  when other VPN configurations are enabled.
147 |  */
148 | @property (getter=isEnabled) BOOL enabled API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                   `- note: 'isEnabled' has been explicitly marked unavailable here
149 |
150 | @end
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift:84:34: error: 'saveToPreferences(completionHandler:)' is unavailable in watchOS
 82 |                     savedManager.isEnabled = true
 83 |
 84 |                     savedManager.saveToPreferences { error in
    |                                  `- error: 'saveToPreferences(completionHandler:)' is unavailable in watchOS
 85 |                         if let error = error {
 86 |                             log(.error, "Failed to save tunnel provider manager: \(savedManager) error: \(error)")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:97:1: note: 'saveToPreferences(completionHandler:)' has been explicitly marked unavailable here
 95 |  * @param completionHandler A block that will be called on the main thread when the save operation is completed. The NSError passed to this block will be nil if the save operation succeeded, non-nil otherwise.
 96 |  */
 97 | - (void)saveToPreferencesWithCompletionHandler:(nullable void (^)(NSError * __nullable error))completionHandler API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'saveToPreferences(completionHandler:)' has been explicitly marked unavailable here
 98 |
 99 | #if TARGET_OS_OSX
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:29:17: error: 'NEVPNStatus' is unavailable in watchOS
 27 |
 28 |     /// Returns the current session status.
 29 |     var status: NEVPNStatus { return .invalid }
    |                 `- error: 'NEVPNStatus' is unavailable in watchOS
 30 |
 31 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:36:32: error: 'NETunnelProviderSession' is unavailable in watchOS
 34 | public class TMTunnelProviderSessionNative: TMTunnelProviderSession {
 35 |
 36 |     private let nativeSession: NETunnelProviderSession
    |                                `- error: 'NETunnelProviderSession' is unavailable in watchOS
 37 |
 38 |     public init(nativeSession: NETunnelProviderSession) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:22:12: note: 'NETunnelProviderSession' has been explicitly marked unavailable here
20 |
21 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
22 | @interface NETunnelProviderSession : NEVPNConnection
   |            `- note: 'NETunnelProviderSession' has been explicitly marked unavailable here
23 |
24 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:38:32: error: 'NETunnelProviderSession' is unavailable in watchOS
 36 |     private let nativeSession: NETunnelProviderSession
 37 |
 38 |     public init(nativeSession: NETunnelProviderSession) {
    |                                `- error: 'NETunnelProviderSession' is unavailable in watchOS
 39 |         self.nativeSession = nativeSession
 40 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:22:12: note: 'NETunnelProviderSession' has been explicitly marked unavailable here
20 |
21 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
22 | @interface NETunnelProviderSession : NEVPNConnection
   |            `- note: 'NETunnelProviderSession' has been explicitly marked unavailable here
23 |
24 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:42:33: error: 'NEVPNStatus' is unavailable in watchOS
 40 |     }
 41 |
 42 |     override public var status: NEVPNStatus {
    |                                 `- error: 'NEVPNStatus' is unavailable in watchOS
 43 |         return nativeSession.status
 44 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:63:32: error: 'NEVPNStatus' is unavailable in watchOS
 61 |
 62 |     public let mockMessageRouter = MessageRouter()
 63 |     private var currentStatus: NEVPNStatus = .invalid
    |                                `- error: 'NEVPNStatus' is unavailable in watchOS
 64 |     private var provider: TMPacketTunnelProvider?
 65 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:70:37: error: 'NEVPNStatus' is unavailable in watchOS
 68 |     }
 69 |
 70 |     public func setStatus(_ status: NEVPNStatus) {
    |                                     `- error: 'NEVPNStatus' is unavailable in watchOS
 71 |         currentStatus = status
 72 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:74:33: error: 'NEVPNStatus' is unavailable in watchOS
 72 |     }
 73 |
 74 |     override public var status: NEVPNStatus {
    |                                 `- error: 'NEVPNStatus' is unavailable in watchOS
 75 |         return currentStatus
 76 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:43:30: error: 'status' is unavailable in watchOS
 41 |
 42 |     override public var status: NEVPNStatus {
 43 |         return nativeSession.status
    |                              `- error: 'status' is unavailable in watchOS
 44 |     }
 45 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:145:34: note: 'status' has been explicitly marked unavailable here
143 |  * @discussion The current status of the VPN.
144 |  */
145 | @property (readonly) NEVPNStatus status API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                  `- note: 'status' has been explicitly marked unavailable here
146 |
147 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:47:23: error: 'stopTunnel()' is unavailable in watchOS
 45 |
 46 |     override public func stopTunnel() {
 47 |         nativeSession.stopTunnel()
    |                       `- error: 'stopTunnel()' is unavailable in watchOS
 48 |     }
 49 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:39:1: note: 'stopTunnel()' has been explicitly marked unavailable here
37 |  * @discussion This function is used to stop the tunnel. The tunnel disconnect process is started and this function returns immediately.
38 |  */
39 | - (void)stopTunnel API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'stopTunnel()' has been explicitly marked unavailable here
40 |
41 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:51:27: error: 'startTunnel(options:)' is unavailable in watchOS
 49 |
 50 |     override public func startTunnel(options: [String: Any]?) throws {
 51 |         try nativeSession.startTunnel(options: options)
    |                           `- error: 'startTunnel(options:)' is unavailable in watchOS
 52 |     }
 53 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:33:1: note: 'startTunnel(options:)' has been explicitly marked unavailable here
31 |  * @return YES if the tunnel was started successfully, NO if an error occurred.
32 |  */
33 | - (BOOL)startTunnelWithOptions:(nullable NSDictionary<NSString *,id> *)options andReturnError:(NSError **)error API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'startTunnel(options:)' has been explicitly marked unavailable here
34 |
35 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:55:27: error: 'sendProviderMessage(_:responseHandler:)' is unavailable in watchOS
 53 |
 54 |     override public func sendProviderMessage(_ message: Data, responseHandler: ResponseCompletion) throws {
 55 |         try nativeSession.sendProviderMessage(message, responseHandler: responseHandler)
    |                           `- error: 'sendProviderMessage(_:responseHandler:)' is unavailable in watchOS
 56 |     }
 57 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:51:1: note: 'sendProviderMessage(_:responseHandler:)' has been explicitly marked unavailable here
49 |  * @return YES if the message was sent successfully, NO if an error occurred.
50 |  */
51 | - (BOOL)sendProviderMessage:(NSData *)messageData returnError:(NSError **)error responseHandler:(nullable void (^)( NSData * __nullable responseData))responseHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'sendProviderMessage(_:responseHandler:)' has been explicitly marked unavailable here
52 |
53 | @end
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:79:25: error: 'NEVPNStatus' is unavailable in watchOS
 77 |
 78 |     override public func stopTunnel() {
 79 |         currentStatus = NEVPNStatus.disconnected
    |                         `- error: 'NEVPNStatus' is unavailable in watchOS
 80 |     }
 81 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMTunnelProviderManagerFactory.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMTunnelProviderSession.swift
SwiftCompile normal arm64 Compiling\ MessageContainer.swift,\ MessageRouter.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/MessageContainer.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/MessageRouter.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/MessageContainer.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile MessageContainer.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/MessageRouter.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile MessageRouter.swift
SwiftCompile normal arm64 Compiling\ TunnelMonitorKit.swift,\ NEIPv4Route+Util.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelMonitorKit.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEIPv4Route+Util.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEIPv4Route+Util.swift:19:11: error: 'NEIPv4Route' is unavailable in watchOS
17 | private let routeRegex = try! NSRegularExpression(pattern: "^(?<address>\(ipPattern)):(?<subnet>\(ipPattern))$")
18 |
19 | extension NEIPv4Route {
   |           `- error: 'NEIPv4Route' is unavailable in watchOS
20 |
21 |     /// Required to prevent invalid IP routes from being constructed, e.g. 0.0.0.0:0
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEIPv4Settings.h:85:12: note: 'NEIPv4Route' has been explicitly marked unavailable here
 83 |  */
 84 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 85 | @interface NEIPv4Route : NSObject <NSSecureCoding,NSCopying>
    |            `- note: 'NEIPv4Route' has been explicitly marked unavailable here
 86 |
 87 | /*!
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelMonitorKit.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TunnelMonitorKit.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEIPv4Route+Util.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile NEIPv4Route+Util.swift
SwiftCompile normal arm64 Compiling\ TMPacketTunnelProviderNative.swift,\ TMTunnelProviderManager.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:72:26: error: cannot override 'startTunnel' which has been marked unavailable
 70 |     }
 71 |
 72 |     override public func startTunnel(
    |                          |- error: cannot override 'startTunnel' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'startTunnel'
 73 |         options: [String: NSObject]? = nil,
 74 |         completionHandler: @escaping (Error?) -> Void
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelProvider.h:44:1: note: 'startTunnel(options:completionHandler:)' has been explicitly marked unavailable here
42 |  * @param completionHandler A block that must be called when the process of starting the tunnel is complete. If the tunnel cannot be established then the subclass' implementation of this method must pass a non-nil NSError object to this block. A value of nil passed to the completion handler indicates that the tunnel was successfully established.
43 |  */
44 | - (void)startTunnelWithOptions:(nullable NSDictionary<NSString *,NSObject *> *)options completionHandler:(void (^)(NSError * __nullable error))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'startTunnel(options:completionHandler:)' has been explicitly marked unavailable here
45 |
46 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:93:50: error: 'NEProviderStopReason' is unavailable in watchOS
 91 |     }
 92 |
 93 |     override public func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) {
    |                                                  `- error: 'NEProviderStopReason' is unavailable in watchOS
 94 |         log(.info, "Stopping tunnel provider with reason: \(reason)")
 95 |         provider.stopTunnel(with: reason, completionHandler: completionHandler)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEProvider.h:25:28: note: 'NEProviderStopReason' has been explicitly marked unavailable here
 23 |  * @abstract Provider stop reasons
 24 |  */
 25 | typedef NS_ENUM(NSInteger, NEProviderStopReason) {
    |                            `- note: 'NEProviderStopReason' has been explicitly marked unavailable here
 26 | 	/*! @const NEProviderStopReasonNone No specific reason. */
 27 | 	NEProviderStopReasonNone = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:93:26: error: cannot override 'stopTunnel' which has been marked unavailable
 91 |     }
 92 |
 93 |     override public func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) {
    |                          |- error: cannot override 'stopTunnel' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'stopTunnel'
 94 |         log(.info, "Stopping tunnel provider with reason: \(reason)")
 95 |         provider.stopTunnel(with: reason, completionHandler: completionHandler)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelProvider.h:52:1: note: 'stopTunnel(with:completionHandler:)' has been explicitly marked unavailable here
50 |  * @param completionHandler A block that must be called when the tunnel is completely torn down.
51 |  */
52 | - (void)stopTunnelWithReason:(NEProviderStopReason)reason completionHandler:(void (^)(void))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'stopTunnel(with:completionHandler:)' has been explicitly marked unavailable here
53 |
54 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:98:26: error: cannot override 'handleAppMessage' which has been marked unavailable
 96 |     }
 97 |
 98 |     override public func handleAppMessage(_ messageData: Data, completionHandler: ((Data?) -> Void)? = nil) {
    |                          |- error: cannot override 'handleAppMessage' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'handleAppMessage'
 99 |         provider.handleAppMessage(messageData, completionHandler: completionHandler)
100 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProvider.h:76:1: note: 'handleAppMessage(_:completionHandler:)' has been explicitly marked unavailable here
 74 |  * @param completionHandler A block that the method can execute to send a response to the container app. If this parameter is non-nil then the method implementation should always execute the block. If this parameter is nil then the method implementation should treat this as an indication that the container app is not expecting a response.
 75 |  */
 76 | - (void)handleAppMessage:(NSData *)messageData completionHandler:(nullable void (^)(NSData * __nullable responseData))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'handleAppMessage(_:completionHandler:)' has been explicitly marked unavailable here
 77 |
 78 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:21:82: error: 'NEPacketTunnelProvider' is unavailable in watchOS
 19 | /// open class MyNativeTunnelProvider: TMPacketTunnelProviderNative<MyTunnelProvider> { }
 20 | /// ```
 21 | open class TMPacketTunnelProviderNative<TunnelProvider: TMPacketTunnelProvider>: NEPacketTunnelProvider {
    |                                                                                  `- error: 'NEPacketTunnelProvider' is unavailable in watchOS
 22 |
 23 |     let provider: TunnelProvider
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelProvider.h:36:12: note: 'NEPacketTunnelProvider' has been explicitly marked unavailable here
34 |  */
35 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
36 | @interface NEPacketTunnelProvider : NETunnelProvider
   |            `- note: 'NEPacketTunnelProvider' has been explicitly marked unavailable here
37 |
38 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:31:48: error: 'NETunnelProviderProtocol' is unavailable in watchOS
 29 |
 30 |     private var configuration: [String: Any]? {
 31 |         return (self.protocolConfiguration as? NETunnelProviderProtocol)?.providerConfiguration
    |                                                `- error: 'NETunnelProviderProtocol' is unavailable in watchOS
 32 |     }
 33 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderProtocol.h:28:12: note: 'NETunnelProviderProtocol' has been explicitly marked unavailable here
26 |  */
27 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
28 | @interface NETunnelProviderProtocol : NEVPNProtocol
   |            `- note: 'NETunnelProviderProtocol' has been explicitly marked unavailable here
29 |
30 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:31:22: error: 'protocolConfiguration' is unavailable in watchOS
 29 |
 30 |     private var configuration: [String: Any]? {
 31 |         return (self.protocolConfiguration as? NETunnelProviderProtocol)?.providerConfiguration
    |                      `- error: 'protocolConfiguration' is unavailable in watchOS
 32 |     }
 33 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProvider.h:90:37: note: 'protocolConfiguration' has been explicitly marked unavailable here
 88 |  * @discussion An NEVPNProtocol object containing the provider's current configuration. The value of this property may change during the lifetime of the tunnel provided by this NETunnelProvider, KVO can be used to detect when changes occur.  For different protocol types, this property will contain the corresponding subclass.   For NEVPNProtocolTypePlugin protocol type, this property will contain the NETunnelProviderProtocol subclass.  For NEVPNProtocolTypeIKEv2 protocol type, this property will contain the NEVPNProtocolIKEv2 subclass.
 89 |  */
 90 | @property (readonly) NEVPNProtocol *protocolConfiguration API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                     `- note: 'protocolConfiguration' has been explicitly marked unavailable here
 91 |
 92 | /*!
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMPacketTunnelProviderNative.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMTunnelProviderManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:31:75: error: 'providerConfiguration' is unavailable in watchOS
 29 |
 30 |     private var configuration: [String: Any]? {
 31 |         return (self.protocolConfiguration as? NETunnelProviderProtocol)?.providerConfiguration
    |                                                                           `- error: 'providerConfiguration' is unavailable in watchOS
 32 |     }
 33 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderProtocol.h:34:57: note: 'providerConfiguration' has been explicitly marked unavailable here
32 |  * @discussion A dictionary containing NETunnelProvider vendor-specific configuration parameters. This dictionary is passed as-is to NETunnelProviders when a tunnel is started.
33 |  */
34 | @property (copy, nullable) NSDictionary<NSString *,id> *providerConfiguration API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   |                                                         `- note: 'providerConfiguration' has been explicitly marked unavailable here
35 |
36 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:50:13: error: 'setTunnelNetworkSettings(_:completionHandler:)' is unavailable in watchOS
 48 |             let settings = networkSettings.packetTunnelNetworkSettings
 49 |
 50 |             setTunnelNetworkSettings(settings) { error in
    |             `- error: 'setTunnelNetworkSettings(_:completionHandler:)' is unavailable in watchOS
 51 |                 if let error = error {
 52 |                     completionHandler(.configurationDecodingFailed(decodeError: error))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProvider.h:84:1: note: 'setTunnelNetworkSettings(_:completionHandler:)' has been explicitly marked unavailable here
 82 |  * @param completionHandler A block that will be called by the framework when the process of setting or clearing the network settings is complete. If an error occurred during the process of setting or clearing the IP network settings then a non-nill NSError object will be passed to this block containing error details.
 83 |  */
 84 | - (void)setTunnelNetworkSettings:(nullable NETunnelNetworkSettings *)tunnelNetworkSettings completionHandler:(nullable void (^)( NSError * __nullable error))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'setTunnelNetworkSettings(_:completionHandler:)' has been explicitly marked unavailable here
 85 |
 86 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:57:52: error: 'setTunnelNetworkSettings(_:completionHandler:)' is unavailable in watchOS
 55 |                 self.provider.configureTunnel(
 56 |                     userConfigurationData: userConfigData,
 57 |                     settingsApplicationBlock: self.setTunnelNetworkSettings
    |                                                    `- error: 'setTunnelNetworkSettings(_:completionHandler:)' is unavailable in watchOS
 58 |                 ) { error in
 59 |                     if let error = error {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProvider.h:84:1: note: 'setTunnelNetworkSettings(_:completionHandler:)' has been explicitly marked unavailable here
 82 |  * @param completionHandler A block that will be called by the framework when the process of setting or clearing the network settings is complete. If an error occurred during the process of setting or clearing the IP network settings then a non-nill NSError object will be passed to this block containing error details.
 83 |  */
 84 | - (void)setTunnelNetworkSettings:(nullable NETunnelNetworkSettings *)tunnelNetworkSettings completionHandler:(nullable void (^)( NSError * __nullable error))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'setTunnelNetworkSettings(_:completionHandler:)' has been explicitly marked unavailable here
 85 |
 86 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:16:39: error: 'NEVPNStatus' is unavailable in watchOS
 14 |
 15 |     /// Invoked whenever the tunnel provider state changes.
 16 |     func tunnelStateChanged(to state: NEVPNStatus)
    |                                       `- error: 'NEVPNStatus' is unavailable in watchOS
 17 |
 18 |     /// Invoked every time the service state changes. This contains information specific to the service provided by the
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:45:30: error: 'NEVPNStatus' is unavailable in watchOS
 43 |
 44 |     /// Current status of the network extension
 45 |     public var tunnelStatus: NEVPNStatus { fatalError("Must override") }
    |                              `- error: 'NEVPNStatus' is unavailable in watchOS
 46 |
 47 |     /// Sends a message request to the tunnel provider.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:112:38: error: 'NEVPNStatus' is unavailable in watchOS
110 |     private let userConfigurationData: Data?
111 |
112 |     private var currentTunnelStatus: NEVPNStatus = .invalid {
    |                                      `- error: 'NEVPNStatus' is unavailable in watchOS
113 |         didSet {
114 |             mockSession.setStatus(currentTunnelStatus)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
SwiftEmitModule normal arm64 Emitting\ module\ for\ TunnelMonitorKit (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:16:34: error: 'NETunnelProviderManager' is unavailable in watchOS
14 |
15 |     private let monitor = TunnelMonitor()
16 |     private let providerManager: NETunnelProviderManager
   |                                  `- error: 'NETunnelProviderManager' is unavailable in watchOS
17 |
18 |     private var pollingInterval = 1.0
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderManager.h:31:12: note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 29 |  */
 30 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 31 | @interface NETunnelProviderManager : NEVPNManager
    |            `- note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 32 |
 33 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:20:39: error: 'NEVPNStatus' is unavailable in watchOS
18 |     private var pollingInterval = 1.0
19 |
20 |     override public var tunnelStatus: NEVPNStatus { session?.status ?? .invalid }
   |                                       `- error: 'NEVPNStatus' is unavailable in watchOS
21 |     override public var tunnelMonitor: TunnelMonitor { monitor }
22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:24:20: error: 'NETunnelProviderManager' is unavailable in watchOS
22 |
23 |     /// Initialise VPNManager, which also saves/updates a tunnel configuration to the phone's VPN settings
24 |     init(provider: NETunnelProviderManager) {
   |                    `- error: 'NETunnelProviderManager' is unavailable in watchOS
25 |         providerManager = provider
26 |         super.init()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderManager.h:31:12: note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 29 |  */
 30 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 31 | @interface NETunnelProviderManager : NEVPNManager
    |            `- note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 32 |
 33 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift:51:46: error: 'NETunnelNetworkSettings' is unavailable in watchOS
49 |     func configureTunnel(
50 |         userConfigurationData: Data?,
51 |         settingsApplicationBlock: @escaping (NETunnelNetworkSettings?, ((Error?) -> Void)?) -> Void,
   |                                              `- error: 'NETunnelNetworkSettings' is unavailable in watchOS
52 |         completionHandler: @escaping (TMTunnelConfigurationError?) -> Void
53 |     )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelNetworkSettings.h:27:12: note: 'NETunnelNetworkSettings' has been explicitly marked unavailable here
25 |  */
26 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
27 | @interface NETunnelNetworkSettings : NSObject <NSSecureCoding,NSCopying>
   |            `- note: 'NETunnelNetworkSettings' has been explicitly marked unavailable here
28 |
29 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift:69:34: error: 'NEProviderStopReason' is unavailable in watchOS
67 |     ///   - reason: The reason for stopping the tunnel
68 |     ///   - completionHandler: Completion handler used to signal that the tunne lhas been stopped.
69 |     func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void)
   |                                  `- error: 'NEProviderStopReason' is unavailable in watchOS
70 |
71 |     /// This method is invoked whenever the tunnel receives a message from the host application. This communication
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEProvider.h:25:28: note: 'NEProviderStopReason' has been explicitly marked unavailable here
 23 |  * @abstract Provider stop reasons
 24 |  */
 25 | typedef NS_ENUM(NSInteger, NEProviderStopReason) {
    |                            `- note: 'NEProviderStopReason' has been explicitly marked unavailable here
 26 | 	/*! @const NEProviderStopReasonNone No specific reason. */
 27 | 	NEProviderStopReasonNone = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:72:26: error: cannot override 'startTunnel' which has been marked unavailable
 70 |     }
 71 |
 72 |     override public func startTunnel(
    |                          |- error: cannot override 'startTunnel' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'startTunnel'
 73 |         options: [String: NSObject]? = nil,
 74 |         completionHandler: @escaping (Error?) -> Void
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelProvider.h:44:1: note: 'startTunnel(options:completionHandler:)' has been explicitly marked unavailable here
42 |  * @param completionHandler A block that must be called when the process of starting the tunnel is complete. If the tunnel cannot be established then the subclass' implementation of this method must pass a non-nil NSError object to this block. A value of nil passed to the completion handler indicates that the tunnel was successfully established.
43 |  */
44 | - (void)startTunnelWithOptions:(nullable NSDictionary<NSString *,NSObject *> *)options completionHandler:(void (^)(NSError * __nullable error))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'startTunnel(options:completionHandler:)' has been explicitly marked unavailable here
45 |
46 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:93:50: error: 'NEProviderStopReason' is unavailable in watchOS
 91 |     }
 92 |
 93 |     override public func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) {
    |                                                  `- error: 'NEProviderStopReason' is unavailable in watchOS
 94 |         log(.info, "Stopping tunnel provider with reason: \(reason)")
 95 |         provider.stopTunnel(with: reason, completionHandler: completionHandler)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEProvider.h:25:28: note: 'NEProviderStopReason' has been explicitly marked unavailable here
 23 |  * @abstract Provider stop reasons
 24 |  */
 25 | typedef NS_ENUM(NSInteger, NEProviderStopReason) {
    |                            `- note: 'NEProviderStopReason' has been explicitly marked unavailable here
 26 | 	/*! @const NEProviderStopReasonNone No specific reason. */
 27 | 	NEProviderStopReasonNone = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:93:26: error: cannot override 'stopTunnel' which has been marked unavailable
 91 |     }
 92 |
 93 |     override public func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) {
    |                          |- error: cannot override 'stopTunnel' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'stopTunnel'
 94 |         log(.info, "Stopping tunnel provider with reason: \(reason)")
 95 |         provider.stopTunnel(with: reason, completionHandler: completionHandler)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelProvider.h:52:1: note: 'stopTunnel(with:completionHandler:)' has been explicitly marked unavailable here
50 |  * @param completionHandler A block that must be called when the tunnel is completely torn down.
51 |  */
52 | - (void)stopTunnelWithReason:(NEProviderStopReason)reason completionHandler:(void (^)(void))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'stopTunnel(with:completionHandler:)' has been explicitly marked unavailable here
53 |
54 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:98:26: error: cannot override 'handleAppMessage' which has been marked unavailable
 96 |     }
 97 |
 98 |     override public func handleAppMessage(_ messageData: Data, completionHandler: ((Data?) -> Void)? = nil) {
    |                          |- error: cannot override 'handleAppMessage' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'handleAppMessage'
 99 |         provider.handleAppMessage(messageData, completionHandler: completionHandler)
100 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProvider.h:76:1: note: 'handleAppMessage(_:completionHandler:)' has been explicitly marked unavailable here
 74 |  * @param completionHandler A block that the method can execute to send a response to the container app. If this parameter is non-nil then the method implementation should always execute the block. If this parameter is nil then the method implementation should treat this as an indication that the container app is not expecting a response.
 75 |  */
 76 | - (void)handleAppMessage:(NSData *)messageData completionHandler:(nullable void (^)(NSData * __nullable responseData))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'handleAppMessage(_:completionHandler:)' has been explicitly marked unavailable here
 77 |
 78 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:21:82: error: 'NEPacketTunnelProvider' is unavailable in watchOS
 19 | /// open class MyNativeTunnelProvider: TMPacketTunnelProviderNative<MyTunnelProvider> { }
 20 | /// ```
 21 | open class TMPacketTunnelProviderNative<TunnelProvider: TMPacketTunnelProvider>: NEPacketTunnelProvider {
    |                                                                                  `- error: 'NEPacketTunnelProvider' is unavailable in watchOS
 22 |
 23 |     let provider: TunnelProvider
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelProvider.h:36:12: note: 'NEPacketTunnelProvider' has been explicitly marked unavailable here
34 |  */
35 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
36 | @interface NEPacketTunnelProvider : NETunnelProvider
   |            `- note: 'NEPacketTunnelProvider' has been explicitly marked unavailable here
37 |
38 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:16:39: error: 'NEVPNStatus' is unavailable in watchOS
 14 |
 15 |     /// Invoked whenever the tunnel provider state changes.
 16 |     func tunnelStateChanged(to state: NEVPNStatus)
    |                                       `- error: 'NEVPNStatus' is unavailable in watchOS
 17 |
 18 |     /// Invoked every time the service state changes. This contains information specific to the service provided by the
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:45:30: error: 'NEVPNStatus' is unavailable in watchOS
 43 |
 44 |     /// Current status of the network extension
 45 |     public var tunnelStatus: NEVPNStatus { fatalError("Must override") }
    |                              `- error: 'NEVPNStatus' is unavailable in watchOS
 46 |
 47 |     /// Sends a message request to the tunnel provider.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:112:38: error: 'NEVPNStatus' is unavailable in watchOS
110 |     private let userConfigurationData: Data?
111 |
112 |     private var currentTunnelStatus: NEVPNStatus = .invalid {
    |                                      `- error: 'NEVPNStatus' is unavailable in watchOS
113 |         didSet {
114 |             mockSession.setStatus(currentTunnelStatus)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:138:39: error: 'NEVPNStatus' is unavailable in watchOS
136 |
137 |     override var session: TMTunnelProviderSession? { mockSession }
138 |     override public var tunnelStatus: NEVPNStatus { currentTunnelStatus }
    |                                       `- error: 'NEVPNStatus' is unavailable in watchOS
139 |     override public var tunnelMonitor: TunnelMonitor { monitor }
140 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:29:17: error: 'NEVPNStatus' is unavailable in watchOS
 27 |
 28 |     /// Returns the current session status.
 29 |     var status: NEVPNStatus { return .invalid }
    |                 `- error: 'NEVPNStatus' is unavailable in watchOS
 30 |
 31 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:36:32: error: 'NETunnelProviderSession' is unavailable in watchOS
 34 | public class TMTunnelProviderSessionNative: TMTunnelProviderSession {
 35 |
 36 |     private let nativeSession: NETunnelProviderSession
    |                                `- error: 'NETunnelProviderSession' is unavailable in watchOS
 37 |
 38 |     public init(nativeSession: NETunnelProviderSession) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:22:12: note: 'NETunnelProviderSession' has been explicitly marked unavailable here
20 |
21 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
22 | @interface NETunnelProviderSession : NEVPNConnection
   |            `- note: 'NETunnelProviderSession' has been explicitly marked unavailable here
23 |
24 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:38:32: error: 'NETunnelProviderSession' is unavailable in watchOS
 36 |     private let nativeSession: NETunnelProviderSession
 37 |
 38 |     public init(nativeSession: NETunnelProviderSession) {
    |                                `- error: 'NETunnelProviderSession' is unavailable in watchOS
 39 |         self.nativeSession = nativeSession
 40 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:22:12: note: 'NETunnelProviderSession' has been explicitly marked unavailable here
20 |
21 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
22 | @interface NETunnelProviderSession : NEVPNConnection
   |            `- note: 'NETunnelProviderSession' has been explicitly marked unavailable here
23 |
24 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:42:33: error: 'NEVPNStatus' is unavailable in watchOS
 40 |     }
 41 |
 42 |     override public var status: NEVPNStatus {
    |                                 `- error: 'NEVPNStatus' is unavailable in watchOS
 43 |         return nativeSession.status
 44 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:63:32: error: 'NEVPNStatus' is unavailable in watchOS
 61 |
 62 |     public let mockMessageRouter = MessageRouter()
 63 |     private var currentStatus: NEVPNStatus = .invalid
    |                                `- error: 'NEVPNStatus' is unavailable in watchOS
 64 |     private var provider: TMPacketTunnelProvider?
 65 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:70:37: error: 'NEVPNStatus' is unavailable in watchOS
 68 |     }
 69 |
 70 |     public func setStatus(_ status: NEVPNStatus) {
    |                                     `- error: 'NEVPNStatus' is unavailable in watchOS
 71 |         currentStatus = status
 72 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:74:33: error: 'NEVPNStatus' is unavailable in watchOS
 72 |     }
 73 |
 74 |     override public var status: NEVPNStatus {
    |                                 `- error: 'NEVPNStatus' is unavailable in watchOS
 75 |         return currentStatus
 76 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/TMCommunicationError.swift:15:23: error: 'NEVPNStatus' is unavailable in watchOS
13 |
14 |     /// The extension is not in a state in which it can be communicated with
15 |     case invalidState(NEVPNStatus)
   |                       `- error: 'NEVPNStatus' is unavailable in watchOS
16 |
17 |     /// The manager connection instance could not be cast to a NETunnelProviderSession or is nil
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:63:45: error: 'NEPacketTunnelNetworkSettings' is unavailable in watchOS
61 |
62 |     /// Constructs a settings object to be consumed by the VPN extension.
63 |     public var packetTunnelNetworkSettings: NEPacketTunnelNetworkSettings {
   |                                             `- error: 'NEPacketTunnelNetworkSettings' is unavailable in watchOS
64 |         let networkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: tunnelRemoteAddress)
65 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelNetworkSettings.h:45:12: note: 'NEPacketTunnelNetworkSettings' has been explicitly marked unavailable here
 43 |  */
 44 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 45 | @interface NEPacketTunnelNetworkSettings : NETunnelNetworkSettings
    |            `- note: 'NEPacketTunnelNetworkSettings' has been explicitly marked unavailable here
 46 |
 47 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:81:57: error: 'NEIPv4Route' is unavailable in watchOS
79 |     }
80 |
81 |     private static func parseRoutes(string: String) -> [NEIPv4Route] {
   |                                                         `- error: 'NEIPv4Route' is unavailable in watchOS
82 |         return string.split(separator: ",")
83 |             .map { $0.trimmingCharacters(in: .whitespacesAndNewlines) }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEIPv4Settings.h:85:12: note: 'NEIPv4Route' has been explicitly marked unavailable here
 83 |  */
 84 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 85 | @interface NEIPv4Route : NSObject <NSSecureCoding,NSCopying>
    |            `- note: 'NEIPv4Route' has been explicitly marked unavailable here
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEIPv4Route+Util.swift:19:11: error: 'NEIPv4Route' is unavailable in watchOS
17 | private let routeRegex = try! NSRegularExpression(pattern: "^(?<address>\(ipPattern)):(?<subnet>\(ipPattern))$")
18 |
19 | extension NEIPv4Route {
   |           `- error: 'NEIPv4Route' is unavailable in watchOS
20 |
21 |     /// Required to prevent invalid IP routes from being constructed, e.g. 0.0.0.0:0
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEIPv4Settings.h:85:12: note: 'NEIPv4Route' has been explicitly marked unavailable here
 83 |  */
 84 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 85 | @interface NEIPv4Route : NSObject <NSSecureCoding,NSCopying>
    |            `- note: 'NEIPv4Route' has been explicitly marked unavailable here
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEProviderStopReason+StringConvertible.swift:11:1: warning: extension declares a conformance of imported type 'NEProviderStopReason' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
 9 | import NetworkExtension
10 |
11 | extension NEProviderStopReason: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'NEProviderStopReason' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
13 |   /// A textual representation of this instance.
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEProviderStopReason+StringConvertible.swift:11:11: error: 'NEProviderStopReason' is unavailable in watchOS
 9 | import NetworkExtension
10 |
11 | extension NEProviderStopReason: CustomStringConvertible {
   |           `- error: 'NEProviderStopReason' is unavailable in watchOS
12 |
13 |   /// A textual representation of this instance.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEProvider.h:25:28: note: 'NEProviderStopReason' has been explicitly marked unavailable here
 23 |  * @abstract Provider stop reasons
 24 |  */
 25 | typedef NS_ENUM(NSInteger, NEProviderStopReason) {
    |                            `- note: 'NEProviderStopReason' has been explicitly marked unavailable here
 26 | 	/*! @const NEProviderStopReasonNone No specific reason. */
 27 | 	NEProviderStopReasonNone = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:11:1: warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
 9 | import NetworkExtension
10 |
11 | extension NEVPNStatus: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
13 |   /// A textual representation of this instance
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:11:11: error: 'NEVPNStatus' is unavailable in watchOS
 9 | import NetworkExtension
10 |
11 | extension NEVPNStatus: CustomStringConvertible {
   |           `- error: 'NEVPNStatus' is unavailable in watchOS
12 |
13 |   /// A textual representation of this instance
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:28:1: warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CaseIterable'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
26 | }
27 |
28 | extension NEVPNStatus: CaseIterable {
   | |- warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CaseIterable'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
29 |     public static var allCases: [NEVPNStatus] {
30 |         return [.invalid, .disconnected, .disconnecting, .connecting, .connected, .reasserting]
SwiftCompile normal arm64 (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftEmitModule normal arm64_32 Emitting\ module\ for\ TunnelMonitorKit (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:16:34: error: 'NETunnelProviderManager' is unavailable in watchOS
14 |
15 |     private let monitor = TunnelMonitor()
16 |     private let providerManager: NETunnelProviderManager
   |                                  `- error: 'NETunnelProviderManager' is unavailable in watchOS
17 |
18 |     private var pollingInterval = 1.0
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderManager.h:31:12: note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 29 |  */
 30 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 31 | @interface NETunnelProviderManager : NEVPNManager
    |            `- note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 32 |
 33 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:20:39: error: 'NEVPNStatus' is unavailable in watchOS
18 |     private var pollingInterval = 1.0
19 |
20 |     override public var tunnelStatus: NEVPNStatus { session?.status ?? .invalid }
   |                                       `- error: 'NEVPNStatus' is unavailable in watchOS
21 |     override public var tunnelMonitor: TunnelMonitor { monitor }
22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:24:20: error: 'NETunnelProviderManager' is unavailable in watchOS
22 |
23 |     /// Initialise VPNManager, which also saves/updates a tunnel configuration to the phone's VPN settings
24 |     init(provider: NETunnelProviderManager) {
   |                    `- error: 'NETunnelProviderManager' is unavailable in watchOS
25 |         providerManager = provider
26 |         super.init()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderManager.h:31:12: note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 29 |  */
 30 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 31 | @interface NETunnelProviderManager : NEVPNManager
    |            `- note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 32 |
 33 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift:51:46: error: 'NETunnelNetworkSettings' is unavailable in watchOS
49 |     func configureTunnel(
50 |         userConfigurationData: Data?,
51 |         settingsApplicationBlock: @escaping (NETunnelNetworkSettings?, ((Error?) -> Void)?) -> Void,
   |                                              `- error: 'NETunnelNetworkSettings' is unavailable in watchOS
52 |         completionHandler: @escaping (TMTunnelConfigurationError?) -> Void
53 |     )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelNetworkSettings.h:27:12: note: 'NETunnelNetworkSettings' has been explicitly marked unavailable here
25 |  */
26 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
27 | @interface NETunnelNetworkSettings : NSObject <NSSecureCoding,NSCopying>
   |            `- note: 'NETunnelNetworkSettings' has been explicitly marked unavailable here
28 |
29 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift:69:34: error: 'NEProviderStopReason' is unavailable in watchOS
67 |     ///   - reason: The reason for stopping the tunnel
68 |     ///   - completionHandler: Completion handler used to signal that the tunne lhas been stopped.
69 |     func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void)
   |                                  `- error: 'NEProviderStopReason' is unavailable in watchOS
70 |
71 |     /// This method is invoked whenever the tunnel receives a message from the host application. This communication
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEProvider.h:25:28: note: 'NEProviderStopReason' has been explicitly marked unavailable here
 23 |  * @abstract Provider stop reasons
 24 |  */
 25 | typedef NS_ENUM(NSInteger, NEProviderStopReason) {
    |                            `- note: 'NEProviderStopReason' has been explicitly marked unavailable here
 26 | 	/*! @const NEProviderStopReasonNone No specific reason. */
 27 | 	NEProviderStopReasonNone = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:72:26: error: cannot override 'startTunnel' which has been marked unavailable
 70 |     }
 71 |
 72 |     override public func startTunnel(
    |                          |- error: cannot override 'startTunnel' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'startTunnel'
 73 |         options: [String: NSObject]? = nil,
 74 |         completionHandler: @escaping (Error?) -> Void
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelProvider.h:44:1: note: 'startTunnel(options:completionHandler:)' has been explicitly marked unavailable here
42 |  * @param completionHandler A block that must be called when the process of starting the tunnel is complete. If the tunnel cannot be established then the subclass' implementation of this method must pass a non-nil NSError object to this block. A value of nil passed to the completion handler indicates that the tunnel was successfully established.
43 |  */
44 | - (void)startTunnelWithOptions:(nullable NSDictionary<NSString *,NSObject *> *)options completionHandler:(void (^)(NSError * __nullable error))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'startTunnel(options:completionHandler:)' has been explicitly marked unavailable here
45 |
46 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:93:50: error: 'NEProviderStopReason' is unavailable in watchOS
 91 |     }
 92 |
 93 |     override public func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) {
    |                                                  `- error: 'NEProviderStopReason' is unavailable in watchOS
 94 |         log(.info, "Stopping tunnel provider with reason: \(reason)")
 95 |         provider.stopTunnel(with: reason, completionHandler: completionHandler)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEProvider.h:25:28: note: 'NEProviderStopReason' has been explicitly marked unavailable here
 23 |  * @abstract Provider stop reasons
 24 |  */
 25 | typedef NS_ENUM(NSInteger, NEProviderStopReason) {
    |                            `- note: 'NEProviderStopReason' has been explicitly marked unavailable here
 26 | 	/*! @const NEProviderStopReasonNone No specific reason. */
 27 | 	NEProviderStopReasonNone = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:93:26: error: cannot override 'stopTunnel' which has been marked unavailable
 91 |     }
 92 |
 93 |     override public func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) {
    |                          |- error: cannot override 'stopTunnel' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'stopTunnel'
 94 |         log(.info, "Stopping tunnel provider with reason: \(reason)")
 95 |         provider.stopTunnel(with: reason, completionHandler: completionHandler)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelProvider.h:52:1: note: 'stopTunnel(with:completionHandler:)' has been explicitly marked unavailable here
50 |  * @param completionHandler A block that must be called when the tunnel is completely torn down.
51 |  */
52 | - (void)stopTunnelWithReason:(NEProviderStopReason)reason completionHandler:(void (^)(void))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
   | `- note: 'stopTunnel(with:completionHandler:)' has been explicitly marked unavailable here
53 |
54 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:98:26: error: cannot override 'handleAppMessage' which has been marked unavailable
 96 |     }
 97 |
 98 |     override public func handleAppMessage(_ messageData: Data, completionHandler: ((Data?) -> Void)? = nil) {
    |                          |- error: cannot override 'handleAppMessage' which has been marked unavailable
    |                          `- note: remove 'override' modifier to declare a new 'handleAppMessage'
 99 |         provider.handleAppMessage(messageData, completionHandler: completionHandler)
100 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProvider.h:76:1: note: 'handleAppMessage(_:completionHandler:)' has been explicitly marked unavailable here
 74 |  * @param completionHandler A block that the method can execute to send a response to the container app. If this parameter is non-nil then the method implementation should always execute the block. If this parameter is nil then the method implementation should treat this as an indication that the container app is not expecting a response.
 75 |  */
 76 | - (void)handleAppMessage:(NSData *)messageData completionHandler:(nullable void (^)(NSData * __nullable responseData))completionHandler API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'handleAppMessage(_:completionHandler:)' has been explicitly marked unavailable here
 77 |
 78 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift:21:82: error: 'NEPacketTunnelProvider' is unavailable in watchOS
 19 | /// open class MyNativeTunnelProvider: TMPacketTunnelProviderNative<MyTunnelProvider> { }
 20 | /// ```
 21 | open class TMPacketTunnelProviderNative<TunnelProvider: TMPacketTunnelProvider>: NEPacketTunnelProvider {
    |                                                                                  `- error: 'NEPacketTunnelProvider' is unavailable in watchOS
 22 |
 23 |     let provider: TunnelProvider
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelProvider.h:36:12: note: 'NEPacketTunnelProvider' has been explicitly marked unavailable here
34 |  */
35 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
36 | @interface NEPacketTunnelProvider : NETunnelProvider
   |            `- note: 'NEPacketTunnelProvider' has been explicitly marked unavailable here
37 |
38 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:16:39: error: 'NEVPNStatus' is unavailable in watchOS
 14 |
 15 |     /// Invoked whenever the tunnel provider state changes.
 16 |     func tunnelStateChanged(to state: NEVPNStatus)
    |                                       `- error: 'NEVPNStatus' is unavailable in watchOS
 17 |
 18 |     /// Invoked every time the service state changes. This contains information specific to the service provided by the
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:45:30: error: 'NEVPNStatus' is unavailable in watchOS
 43 |
 44 |     /// Current status of the network extension
 45 |     public var tunnelStatus: NEVPNStatus { fatalError("Must override") }
    |                              `- error: 'NEVPNStatus' is unavailable in watchOS
 46 |
 47 |     /// Sends a message request to the tunnel provider.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:112:38: error: 'NEVPNStatus' is unavailable in watchOS
110 |     private let userConfigurationData: Data?
111 |
112 |     private var currentTunnelStatus: NEVPNStatus = .invalid {
    |                                      `- error: 'NEVPNStatus' is unavailable in watchOS
113 |         didSet {
114 |             mockSession.setStatus(currentTunnelStatus)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift:138:39: error: 'NEVPNStatus' is unavailable in watchOS
136 |
137 |     override var session: TMTunnelProviderSession? { mockSession }
138 |     override public var tunnelStatus: NEVPNStatus { currentTunnelStatus }
    |                                       `- error: 'NEVPNStatus' is unavailable in watchOS
139 |     override public var tunnelMonitor: TunnelMonitor { monitor }
140 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:29:17: error: 'NEVPNStatus' is unavailable in watchOS
 27 |
 28 |     /// Returns the current session status.
 29 |     var status: NEVPNStatus { return .invalid }
    |                 `- error: 'NEVPNStatus' is unavailable in watchOS
 30 |
 31 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:36:32: error: 'NETunnelProviderSession' is unavailable in watchOS
 34 | public class TMTunnelProviderSessionNative: TMTunnelProviderSession {
 35 |
 36 |     private let nativeSession: NETunnelProviderSession
    |                                `- error: 'NETunnelProviderSession' is unavailable in watchOS
 37 |
 38 |     public init(nativeSession: NETunnelProviderSession) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:22:12: note: 'NETunnelProviderSession' has been explicitly marked unavailable here
20 |
21 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
22 | @interface NETunnelProviderSession : NEVPNConnection
   |            `- note: 'NETunnelProviderSession' has been explicitly marked unavailable here
23 |
24 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:38:32: error: 'NETunnelProviderSession' is unavailable in watchOS
 36 |     private let nativeSession: NETunnelProviderSession
 37 |
 38 |     public init(nativeSession: NETunnelProviderSession) {
    |                                `- error: 'NETunnelProviderSession' is unavailable in watchOS
 39 |         self.nativeSession = nativeSession
 40 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:22:12: note: 'NETunnelProviderSession' has been explicitly marked unavailable here
20 |
21 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
22 | @interface NETunnelProviderSession : NEVPNConnection
   |            `- note: 'NETunnelProviderSession' has been explicitly marked unavailable here
23 |
24 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:42:33: error: 'NEVPNStatus' is unavailable in watchOS
 40 |     }
 41 |
 42 |     override public var status: NEVPNStatus {
    |                                 `- error: 'NEVPNStatus' is unavailable in watchOS
 43 |         return nativeSession.status
 44 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:63:32: error: 'NEVPNStatus' is unavailable in watchOS
 61 |
 62 |     public let mockMessageRouter = MessageRouter()
 63 |     private var currentStatus: NEVPNStatus = .invalid
    |                                `- error: 'NEVPNStatus' is unavailable in watchOS
 64 |     private var provider: TMPacketTunnelProvider?
 65 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:70:37: error: 'NEVPNStatus' is unavailable in watchOS
 68 |     }
 69 |
 70 |     public func setStatus(_ status: NEVPNStatus) {
    |                                     `- error: 'NEVPNStatus' is unavailable in watchOS
 71 |         currentStatus = status
 72 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift:74:33: error: 'NEVPNStatus' is unavailable in watchOS
 72 |     }
 73 |
 74 |     override public var status: NEVPNStatus {
    |                                 `- error: 'NEVPNStatus' is unavailable in watchOS
 75 |         return currentStatus
 76 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/TMCommunicationError.swift:15:23: error: 'NEVPNStatus' is unavailable in watchOS
13 |
14 |     /// The extension is not in a state in which it can be communicated with
15 |     case invalidState(NEVPNStatus)
   |                       `- error: 'NEVPNStatus' is unavailable in watchOS
16 |
17 |     /// The manager connection instance could not be cast to a NETunnelProviderSession or is nil
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:63:45: error: 'NEPacketTunnelNetworkSettings' is unavailable in watchOS
61 |
62 |     /// Constructs a settings object to be consumed by the VPN extension.
63 |     public var packetTunnelNetworkSettings: NEPacketTunnelNetworkSettings {
   |                                             `- error: 'NEPacketTunnelNetworkSettings' is unavailable in watchOS
64 |         let networkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: tunnelRemoteAddress)
65 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEPacketTunnelNetworkSettings.h:45:12: note: 'NEPacketTunnelNetworkSettings' has been explicitly marked unavailable here
 43 |  */
 44 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 45 | @interface NEPacketTunnelNetworkSettings : NETunnelNetworkSettings
    |            `- note: 'NEPacketTunnelNetworkSettings' has been explicitly marked unavailable here
 46 |
 47 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift:81:57: error: 'NEIPv4Route' is unavailable in watchOS
79 |     }
80 |
81 |     private static func parseRoutes(string: String) -> [NEIPv4Route] {
   |                                                         `- error: 'NEIPv4Route' is unavailable in watchOS
82 |         return string.split(separator: ",")
83 |             .map { $0.trimmingCharacters(in: .whitespacesAndNewlines) }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEIPv4Settings.h:85:12: note: 'NEIPv4Route' has been explicitly marked unavailable here
 83 |  */
 84 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 85 | @interface NEIPv4Route : NSObject <NSSecureCoding,NSCopying>
    |            `- note: 'NEIPv4Route' has been explicitly marked unavailable here
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEIPv4Route+Util.swift:19:11: error: 'NEIPv4Route' is unavailable in watchOS
17 | private let routeRegex = try! NSRegularExpression(pattern: "^(?<address>\(ipPattern)):(?<subnet>\(ipPattern))$")
18 |
19 | extension NEIPv4Route {
   |           `- error: 'NEIPv4Route' is unavailable in watchOS
20 |
21 |     /// Required to prevent invalid IP routes from being constructed, e.g. 0.0.0.0:0
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEIPv4Settings.h:85:12: note: 'NEIPv4Route' has been explicitly marked unavailable here
 83 |  */
 84 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 85 | @interface NEIPv4Route : NSObject <NSSecureCoding,NSCopying>
    |            `- note: 'NEIPv4Route' has been explicitly marked unavailable here
 86 |
 87 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEProviderStopReason+StringConvertible.swift:11:1: warning: extension declares a conformance of imported type 'NEProviderStopReason' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
 9 | import NetworkExtension
10 |
11 | extension NEProviderStopReason: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'NEProviderStopReason' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
13 |   /// A textual representation of this instance.
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEProviderStopReason+StringConvertible.swift:11:11: error: 'NEProviderStopReason' is unavailable in watchOS
 9 | import NetworkExtension
10 |
11 | extension NEProviderStopReason: CustomStringConvertible {
   |           `- error: 'NEProviderStopReason' is unavailable in watchOS
12 |
13 |   /// A textual representation of this instance.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEProvider.h:25:28: note: 'NEProviderStopReason' has been explicitly marked unavailable here
 23 |  * @abstract Provider stop reasons
 24 |  */
 25 | typedef NS_ENUM(NSInteger, NEProviderStopReason) {
    |                            `- note: 'NEProviderStopReason' has been explicitly marked unavailable here
 26 | 	/*! @const NEProviderStopReasonNone No specific reason. */
 27 | 	NEProviderStopReasonNone = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:11:1: warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
 9 | import NetworkExtension
10 |
11 | extension NEVPNStatus: CustomStringConvertible {
   | |- warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
12 |
13 |   /// A textual representation of this instance
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:11:11: error: 'NEVPNStatus' is unavailable in watchOS
 9 | import NetworkExtension
10 |
11 | extension NEVPNStatus: CustomStringConvertible {
   |           `- error: 'NEVPNStatus' is unavailable in watchOS
12 |
13 |   /// A textual representation of this instance
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:28:1: warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CaseIterable'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
26 | }
27 |
28 | extension NEVPNStatus: CaseIterable {
   | |- warning: extension declares a conformance of imported type 'NEVPNStatus' to imported protocol 'CaseIterable'; this will not behave correctly if the owners of 'NetworkExtension' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
29 |     public static var allCases: [NEVPNStatus] {
30 |         return [.invalid, .disconnected, .disconnecting, .connecting, .connected, .reasserting]
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:29:34: error: 'NEVPNStatus' is unavailable in watchOS
27 |
28 | extension NEVPNStatus: CaseIterable {
29 |     public static var allCases: [NEVPNStatus] {
   |                                  `- error: 'NEVPNStatus' is unavailable in watchOS
30 |         return [.invalid, .disconnected, .disconnecting, .connecting, .connected, .reasserting]
31 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift:28:11: error: 'NEVPNStatus' is unavailable in watchOS
26 | }
27 |
28 | extension NEVPNStatus: CaseIterable {
   |           `- error: 'NEVPNStatus' is unavailable in watchOS
29 |     public static var allCases: [NEVPNStatus] {
30 |         return [.invalid, .disconnected, .disconnecting, .connecting, .connected, .reasserting]
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
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/TunnelMonitorKit/Logging/TMLogger.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMOSLogger.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProviderNative.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManager.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderManagerFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMTunnelProviderSession.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/MessageContainer.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/MessageRouter.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/TMCommunicationError.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/TunnelMonitor.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/PacketTunnelConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelConfiguration/TunnelConfigurationError.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelMonitorKit.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEIPv4Route+Util.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEProviderStopReason+StringConvertible.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NEVPNStatus+Util.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NSTextCheckingResult+Util.swift -target arm64_32-apple-watchos9.0 -disable-cross-import-overlay-search -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit-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 -profile-generate -profile-coverage-mapping -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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name TunnelMonitorKit -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit_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/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/TunnelMonitorKit.build/Debug-watchos/TunnelMonitorKit-t.build/Objects-normal/arm64_32/TunnelMonitorKit.abi.json
SwiftCompile normal arm64_32 (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64_32 Compiling\ TMLogger.swift,\ TMOSLogger.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMLogger.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMOSLogger.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMLogger.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMLogger.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Logging/TMOSLogger.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMOSLogger.swift
SwiftCompile normal arm64_32 Compiling\ TMNativeTunnelProviderManager.swift,\ TMPacketTunnelProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:16:34: error: 'NETunnelProviderManager' is unavailable in watchOS
14 |
15 |     private let monitor = TunnelMonitor()
16 |     private let providerManager: NETunnelProviderManager
   |                                  `- error: 'NETunnelProviderManager' is unavailable in watchOS
17 |
18 |     private var pollingInterval = 1.0
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderManager.h:31:12: note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 29 |  */
 30 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 31 | @interface NETunnelProviderManager : NEVPNManager
    |            `- note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 32 |
 33 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:20:39: error: 'NEVPNStatus' is unavailable in watchOS
18 |     private var pollingInterval = 1.0
19 |
20 |     override public var tunnelStatus: NEVPNStatus { session?.status ?? .invalid }
   |                                       `- error: 'NEVPNStatus' is unavailable in watchOS
21 |     override public var tunnelMonitor: TunnelMonitor { monitor }
22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:22:28: note: 'NEVPNStatus' has been explicitly marked unavailable here
 20 |  * @abstract VPN status codes
 21 |  */
 22 | typedef NS_ENUM(NSInteger, NEVPNStatus) {
    |                            `- note: 'NEVPNStatus' has been explicitly marked unavailable here
 23 |     /*! @const NEVPNStatusInvalid The VPN is not configured. */
 24 |     NEVPNStatusInvalid = 0,
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:24:20: error: 'NETunnelProviderManager' is unavailable in watchOS
22 |
23 |     /// Initialise VPNManager, which also saves/updates a tunnel configuration to the phone's VPN settings
24 |     init(provider: NETunnelProviderManager) {
   |                    `- error: 'NETunnelProviderManager' is unavailable in watchOS
25 |         providerManager = provider
26 |         super.init()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderManager.h:31:12: note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 29 |  */
 30 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
 31 | @interface NETunnelProviderManager : NEVPNManager
    |            `- note: 'NETunnelProviderManager' has been explicitly marked unavailable here
 32 |
 33 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:31:37: error: 'NEVPNStatusDidChange' is unavailable in watchOS
29 |             self,
30 |             selector: #selector(handleVPNStatusChange),
31 |             name: Notification.Name.NEVPNStatusDidChange,
   |                                     `- error: 'NEVPNStatusDidChange' is unavailable in watchOS
32 |             object: nil
33 |         )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:38:31: note: 'NEVPNStatusDidChange' has been explicitly marked unavailable here
 36 |
 37 | /*! @const NEVPNStatusDidChangeNotification Name of the NSNotification that is posted when the VPN status changes. */
 38 | NEVPN_EXPORT NSString * const NEVPNStatusDidChangeNotification API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                               `- note: 'NEVPNStatusDidChange' has been explicitly marked unavailable here
 39 |
 40 | /*! @const NEVPNConnectionStartOptionUsername Specify this key in the options dictionary passed to startVPNTunnelWithOptions:returningError: to override the username saved in the configuration. The value is a string */
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:37:65: error: 'NETunnelProviderSession' is unavailable in watchOS
35 |
36 |     override var session: TMTunnelProviderSession? {
37 |         if let providerSession = providerManager.connection as? NETunnelProviderSession {
   |                                                                 `- error: 'NETunnelProviderSession' is unavailable in watchOS
38 |             return TMTunnelProviderSessionNative(nativeSession: providerSession)
39 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelProviderSession.h:22:12: note: 'NETunnelProviderSession' has been explicitly marked unavailable here
20 |
21 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
22 | @interface NETunnelProviderSession : NEVPNConnection
   |            `- note: 'NETunnelProviderSession' has been explicitly marked unavailable here
23 |
24 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:37:50: error: 'connection' is unavailable in watchOS
35 |
36 |     override var session: TMTunnelProviderSession? {
37 |         if let providerSession = providerManager.connection as? NETunnelProviderSession {
   |                                                  `- error: 'connection' is unavailable in watchOS
38 |             return TMTunnelProviderSessionNative(nativeSession: providerSession)
39 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:142:39: note: 'connection' has been explicitly marked unavailable here
140 |  * @discussion The NEVPNConnection object used for controlling the VPN tunnel.
141 |  */
142 | @property (readonly) NEVPNConnection *connection API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                       `- note: 'connection' has been explicitly marked unavailable here
143 |
144 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:49:33: error: 'connection' is unavailable in watchOS
47 |         }
48 |         do {
49 |             try providerManager.connection.startVPNTunnel()
   |                                 `- error: 'connection' is unavailable in watchOS
50 |         } catch {
51 |             print("\(error)")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:142:39: note: 'connection' has been explicitly marked unavailable here
140 |  * @discussion The NEVPNConnection object used for controlling the VPN tunnel.
141 |  */
142 | @property (readonly) NEVPNConnection *connection API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                       `- note: 'connection' has been explicitly marked unavailable here
143 |
144 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:49:44: error: 'startVPNTunnel()' is unavailable in watchOS
47 |         }
48 |         do {
49 |             try providerManager.connection.startVPNTunnel()
   |                                            `- error: 'startVPNTunnel()' is unavailable in watchOS
50 |         } catch {
51 |             print("\(error)")
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:112:1: note: 'startVPNTunnel()' has been explicitly marked unavailable here
110 |  * @return YES if the VPN tunnel was started successfully, NO if an error occurred.
111 |  */
112 | - (BOOL)startVPNTunnelAndReturnError:(NSError **)error API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'startVPNTunnel()' has been explicitly marked unavailable here
113 |
114 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:58:25: error: 'connection' is unavailable in watchOS
56 |     /// Stop the service, closing the existing VPN Tunnel.
57 |     override public func stopTunnel() {
58 |         providerManager.connection.stopVPNTunnel()
   |                         `- error: 'connection' is unavailable in watchOS
59 |         tunnelMonitor.stopMonitoring()
60 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNManager.h:142:39: note: 'connection' has been explicitly marked unavailable here
140 |  * @discussion The NEVPNConnection object used for controlling the VPN tunnel.
141 |  */
142 | @property (readonly) NEVPNConnection *connection API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    |                                       `- note: 'connection' has been explicitly marked unavailable here
143 |
144 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift:58:36: error: 'stopVPNTunnel()' is unavailable in watchOS
56 |     /// Stop the service, closing the existing VPN Tunnel.
57 |     override public func stopTunnel() {
58 |         providerManager.connection.stopVPNTunnel()
   |                                    `- error: 'stopVPNTunnel()' is unavailable in watchOS
59 |         tunnelMonitor.stopMonitoring()
60 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NEVPNConnection.h:132:1: note: 'stopVPNTunnel()' has been explicitly marked unavailable here
130 |  * @discussion This function is used to stop the VPN tunnel. The VPN tunnel disconnect process is started and this function returns immediately.
131 |  */
132 | - (void)stopVPNTunnel API_AVAILABLE(macos(10.11), ios(8.0), tvos(17.0)) API_UNAVAILABLE(watchos);
    | `- note: 'stopVPNTunnel()' has been explicitly marked unavailable here
133 |
134 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift:51:46: error: 'NETunnelNetworkSettings' is unavailable in watchOS
49 |     func configureTunnel(
50 |         userConfigurationData: Data?,
51 |         settingsApplicationBlock: @escaping (NETunnelNetworkSettings?, ((Error?) -> Void)?) -> Void,
   |                                              `- error: 'NETunnelNetworkSettings' is unavailable in watchOS
52 |         completionHandler: @escaping (TMTunnelConfigurationError?) -> Void
53 |     )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/NetworkExtension.framework/Headers/NETunnelNetworkSettings.h:27:12: note: 'NETunnelNetworkSettings' has been explicitly marked unavailable here
25 |  */
26 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(17.0)) API_UNAVAILABLE(watchos)
27 | @interface NETunnelNetworkSettings : NSObject <NSSecureCoding,NSCopying>
   |            `- note: 'NETunnelNetworkSettings' has been explicitly marked unavailable here
28 |
29 | /*!
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMNativeTunnelProviderManager.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMNativeTunnelProviderManager.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Mocking/TMPacketTunnelProvider.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMPacketTunnelProvider.swift
SwiftCompile normal arm64_32 Compiling\ TMCommunicationError.swift,\ TunnelMonitor.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/TMCommunicationError.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/TunnelMonitor.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/TMCommunicationError.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TMCommunicationError.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/TunnelCommunication/TunnelMonitor.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TunnelMonitor.swift
SwiftCompile normal arm64_32 Compiling\ NSTextCheckingResult+Util.swift /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NSTextCheckingResult+Util.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/TunnelMonitorKit/Util/NSTextCheckingResult+Util.swift (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile NSTextCheckingResult+Util.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-20 12:05:14.086 xcodebuild[756:4688] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ TunnelMonitorKit (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
	SwiftCompile normal arm64_32 (in target 'TunnelMonitorKit' from project 'TunnelMonitorKit')
	Building workspace TunnelMonitorKit with scheme TunnelMonitorKit
(3 failures)
BUILD FAILURE 6.4 watchOS