【发布时间】:2020-02-20 17:30:26
【问题描述】:
我正在尝试移植一个基于 socket.io 的旧应用程序,该应用程序曾经可以工作。 我正在使用 swift 4 编译并使用 socket.io 的 13.4.0 版本(v14 之前的最后一个需要客户端的最低版本是 Swift 4.2)。 我使用了 socket.io GitHub 自述文件中的示例,可用于this branch,即:
let socket = SocketIOClient(socketURL: URL(string: "http://localhost:8080")!, config: [.log(true), .forcePolling(true)])
当我尝试使用 Xcode 11.3.1 进行编译时,出现以下错误:
Incorrect argument labels in call (have 'socketURL:config:', expected 'manager:nsp:') 建议通过将 'socketURL: URL(string: "http://localhost:8080")!, config' 替换为 'manager: URL(string: "http://localhost:8080")!, nsp' 来修复它。如果我选择这种方式,这与自述文件中建议的方式不同,我会出现这个新错误:Argument type 'URL' does not conform to expected type 'SocketManagerSpec'。
知道我做错了什么以及如何解决吗?
感谢您的帮助。
【问题讨论】:
-
不要只阅读自述文件。找到该方法的声明,以及它的其他子声明(例如
SocketIOClientCOnfiguration)尝试:let socket = SocketIOClient(socketURL: URL(string: "http://localhost:8080")!, config: SocketIOClientConfiguration.init(arrayLiteral: [.log(true), .forcePolling(true)]))?
标签: ios swift sockets socket.io