ios socket.io swift无法在真实的设备上工作

s4n0splo  于 11个月前  发布在  iOS
关注(0)|答案(2)|浏览(100)

我用的是project,我有一个node.js服务器,并实现了一个ios客户端。
它在模拟器上运行得很好,但当我在真实的设备上运行时,我无法建立连接。
看起来连接请求并没有从iPhone中发出,因为我在服务器端看不到任何动作(运行在调试模式下)。
此外,服务器不是坐在本地主机,所以我不能看到为什么它工作良好的模拟器,但不是在一个真实的设备..我错过了什么?
来自XCode的日志:

2015-12-30 11:13:53.579 socket4[560:1722668] Log SocketIOClient: Adding handler for event: important message
2015-12-30 11:13:53.581 socket4[560:1722668] Log SocketIOClient: Adding handler for event: connect
2015-12-30 11:13:53.581 socket4[560:1722668] Log SocketIOClient: Adding handler for event: error
2015-12-30 11:13:53.582 socket4[560:1722668] Log SocketIOClient: Adding engine
2015-12-30 11:13:53.582 socket4[560:1722668] Log SocketEngine: Starting engine
2015-12-30 11:13:53.582 socket4[560:1722668] Log SocketEngine: Handshaking
2015-12-30 11:15:08.713 socket4[560:1723014] ERROR SocketIOClient: The operation couldn’t be completed. Operation timed out

字符串

nsc4cvqm

nsc4cvqm1#

我使用了3000端口。结果发现由于某种原因,这个端口在真实的设备上被阻塞,而不是在模拟器上。这可能是因为苹果自己使用这个端口的目的。
我只是改变了服务器和客户端应用程序上的端口,瞧,它工作了!

9vw9lbht

9vw9lbht2#

在iOS(Xcode)中,它在将Pod上的最小部署目标设置为iOS 12+后才起作用,因为NWProtocolTCP是为iOS 12+实现的。
您需要更改Socket.io附带的 Redis pod的最小部署目标。

相关问题