OC项目集成SocketIO各种问题报错解决

公司项目最近想将websocket干掉,全部迁移成用SocketIO来实现客户端与服务器的长连接。关于SocketIO的介绍,网上有很多,这里不赘述。

项目地址:Socket.IO-Client-Swift
因为SocketIO的OC版本已经很老了,而且各种问题,所以这里我们采用最新的Swift版本。下面开始用Cocopods进行集成。【注意,这里有个坑是SocketIO现在不支持手动导入的,所以你仍然手动导入的会一直报错】

use_frameworks!#OC项目默认是不使用use_frameworks,但是混编时候有Swift的话就一定要加这个

target '你App的名字' do
    pod 'Socket.IO-Client-Swift', '~> 15.0.0'
end

然后

pod install

run一下,不出意外的报错,看一下是CocoaHTTPServer的库报错了


OC项目集成SocketIO各种问题报错解决_第1张图片
image.png

解决方案

继续run,继续报错。项目里报了类似很多这种错误,这个改起来还好,只要把尖括号改成双引号就可以了,这两种区别可以自行百度。


image.png

继续run,继续报错,library not found for -lXXXXX
这种的也比较好解决。
解决方案

继续run,继续报错。这里是SD里面webp找不到了。


OC项目集成SocketIO各种问题报错解决_第2张图片
image.png

项目里有用到SDWebimage和YYImage还有Webp,SD是手动拖到项目的,YY是pod的,webp库在YY的pod子项目里,这个改起来也很简单,项目删除SD,然后导入SD的webp

pod 'SDWebImage/WebP'

然后pod install一下,继续run 项目成功运行。

Tips

Showing Recent Messages The “Swift Language Version” (SWIFT_VERSION) build

有时候会报以上错误,这时候指定下Swift版本号就行了。如果设置后还是无用,需要检查下Xcode的版本,版本过低是不支持Swift5的,需要更新系统,更新Xcode即可。

你可能感兴趣的:(OC项目集成SocketIO各种问题报错解决)