gpt4 book ai didi

swift - 为什么红蜘蛛不再适用于真正的 Apple Watch (WatchOS 6)?

转载 作者:行者123 更新时间:2023-12-04 04:24:01 24 4
gpt4 key购买 nike

最近我将我的 Apple Watch 升级到 WatchOS 6.0.1,我的 iPhone 升级到 iOS 13.1.2,Xcode 升级到 11.1。 MacOS 仍然是 10.14.6。

我创建了一个独立的 Apple Watch 项目,我在其中使用红蜘蛛测试 Watch 和 WebSocket 服务器之间的通信:https://github.com/daltoniam/Starscream

在模拟器上完美运行,但在真正的 Apple Watch 上,当我尝试连接到服务器时,我遇到了这些错误:

2019-10-08 18:57:53.064887+0200 BackgroundWebSocketOnlyWatch WatchKit Extension[251:31011] [] nw_connection_get_connected_socket [C1] Client called nw_connection_get_connected_socket on unconnected nw_connection

2019-10-08 18:57:53.068928+0200 BackgroundWebSocketOnlyWatch WatchKit Extension[251:31011] TCP Conn 0x16d8d5f0 Failed : error 0:50 [50]

websocket is disconnected: Optional("The operation couldn’t be completed. Network is down")

我将向您展示我的应用程序的代码:

InterfaceController.swift

import WatchKit
import Foundation
import Starscream

class InterfaceController: WKInterfaceController, WebSocketDelegate {

let socket = WebSocket(url: URL(string: "ws://echo.websocket.org/")!)

@IBOutlet var label: WKInterfaceLabel!

/**************************************************************************************************/

override func awake(withContext context: Any?) {
super.awake(withContext: context)

socket.delegate = self
}

override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
}

override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}

/************************************************************************************************/

@IBAction func connectButtonPressed() {

socket.connect()
}

@IBAction func sendButtonPressed() {

socket.write(string: "Hi!")
}

@IBAction func disconnectButtonPressed() {

socket.disconnect()
}

/******************************************************************************************/

func websocketDidConnect(socket: WebSocketClient) {
print("websocket is connected")
label.setText("Connected")
}
func websocketDidDisconnect(socket: WebSocketClient, error: Error?) {
print("websocket is disconnected: \(error?.localizedDescription)")
label.setText("Disconnected")
}
func websocketDidReceiveMessage(socket: WebSocketClient, text: String) {
print("got some text: \(text)")
label.setText("Received: \(text)")
createVibration()

}
func websocketDidReceiveData(socket: WebSocketClient, data: Data) {
print("got some data: \(data.count)")
}
/******************************************************************************************/

// Creates vibration
func createVibration() {

WKInterfaceDevice.current().play(.notification)
print("Vibration created")
}

我尝试在 iOS 13.1.2 上使用 Starscream,它在模拟器和真实 iPhone 上都能完美运行

这是 WatchOS 6 的错误还是红蜘蛛需要升级?

提前致谢! :)


编辑:2019 年 11 月 5 日

我已将我的 Apple Watch 更新到 WatchOS 6.1,将 iPhone 更新到 iOS 13.2,但 WebSocket 仍然无法在 watch 上运行...

虽然有一些新的错误:

2019-11-05 12:33:29.317757+0100 BackgroundWebSocketBothDevices WatchKit Extension[269:37201] dnssd_clientstub ConnectToServer: connect() failed path:/var/run/mDNSResponder Socket:4 Err:-1 Errno:1 Operation not permitted

2019-11-05 12:33:29.317919+0100 BackgroundWebSocketBothDevices WatchKit Extension[269:37201] [] nw_resolver_create_dns_service_locked [C1] DNSServiceCreateDelegateConnection failed: ServiceNotRunning(-65563)

2019-11-05 12:33:29.319083+0100 BackgroundWebSocketBothDevices WatchKit Extension[269:37255] [] nw_connection_get_connected_socket [C1] Client called nw_connection_get_connected_socket on unconnected nw_connection

2019-11-05 12:33:29.319150+0100 BackgroundWebSocketBothDevices WatchKit Extension[269:37255] TCP Conn 0x155a7360 Failed : error 0:-65563 [-65563]

websocket is disconnected: The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -72000.)

最佳答案

关于swift - 为什么红蜘蛛不再适用于真正的 Apple Watch (WatchOS 6)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58290988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com