本文只谈论配置Pods库出现的问题及解决方法
如果导入pods库, pod install 之后出现如下的错误时
Unable to determine Swift version for the following pods:
原因是工程中没有设置SWIFT_VERSION,为空,而依赖的第三方库使用了swift,若用公司网络下载pods下载不下来,建议采用电脑直接连接手机wifi网络(你的手机流量够用的情况下)。
解决方案:设置Targets->Build Settings->Combined(All)->User-Defined->SWIFT_VERSION,设置为4.0等。若没有SWIFT_VERSION属性就要在User-Defined下面点“+”添加(如下图),设置版本号。
编译之前需先修改项目配置如下
ALWAYS_SEARCH_USER_PATHS = NO;
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
如编译出现如下错误时
The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. This setting can be set in the build settings editor.
解决办法如下:
-
选中Pods项目
-
TARGETS选择对应的使用swift编写的三方库
-
切换到Build Setting选项
-
在搜索框输入swift language搜索
-
将Swift Language Version中的Unspecified改为对应的Swift版本(Swift 5)
-
重新build项目,这是可能会报一些Swift的语法错误,修改一下就OK了。
如编译报找不到frameWork错误时
以前没有加入use_frameworks!前OC调用Pod引入的第三方库时,是这样调用的#import <YYKit.h>,现在全部给它加上frame前缀#import <YYKit/YYKit.h>
记住不要按照xcode的提示去修改,它提示你把<>改为"",这样就真的找不到头文件了。
如编译报错如下
Include of non-modular header insider framework module 'xxxx'
解决方案是在Build Setting中修改Allow Non-modular includes in Framework Modules 为YES