OC项目中加入Swift文件的配置Pods时会出现的问题

本文只谈论配置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下面点“+”添加(如下图),设置版本号。
点击加号添加SWIFT_VERSION属性
添加swift版本

编译之前需先修改项目配置如下

    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 ,现在全部给它加上frame前缀#import
记住不要按照xcode的提示去修改,它提示你把<>改为"",这样就真的找不到头文件了。

如编译报错如下

Include of non-modular header insider framework module 'xxxx'
解决方案是在Build Setting中修改Allow Non-modular includes in Framework Modules 为YES

请关注我的专题 iOS - Developer - OC 进阶大全

你可能感兴趣的:(OC项目中加入Swift文件的配置Pods时会出现的问题)