公司项目最近想将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的库报错了
image.png
继续run,继续报错。项目里报了类似很多这种错误,这个改起来还好,只要把尖括号改成双引号就可以了,这两种区别可以自行百度。
image.png
继续run,继续报错,library not found for -lXXXXX
这种的也比较好解决。
解决方案
继续run,继续报错。这里是SD里面webp找不到了。
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即可。
网友评论