因为一时手贱更新了Xcode 10.2,Xcode 10.2 废弃了Swift 3版本。项目从Swift 3 迁移到 Swift 4的过程中,产生了一大堆问题。其中就包括原来引用的SocketIO库不再支持。
于是我将本地的SocketIO相关文件删除,通过pod安装新版本。这个时候,出现了一个问题时,SocketEngine.Swift文件中 import Starscream失败。系统提示'Cannot load underlying module for 'Starscream'。花费了好大力气,终于排查出来原因出现在podfile中。
没有在podfile中加入use_frameworks!
从而导致了,安装到pod的第三方库并没有以framework的形式引用到项目中。所以在podfile中加入 use_frameworks! 即可。
请参考下方代码
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, "9.0"
use_frameworks!
target "工程名" do
pod 'Socket.IO-Client-Swift'
end
网友评论