CocoaPods 导库时提示Use the `$(inherited)` flag, or - Remove the build settings from the target

CocoaPods导库提示1

这种警告是不能忽视的,如果不解决,它带来的直接后果就是无法通过编译,会出现由于部分库文件找不到而导致的种种问题:

  1. 编译失败,抛出Undefined symbols for architecture i386错误

  2. 调用库中的方法,抛出unrecognized selector sent to instance错误

而产生此警告的原因是项目Target中的一些设置,CocoaPods也做了默认的设置,如果两个设置结果不一致,就会造成问题。

解决方法:

方法1(粗暴)

  1. 打开工程所在文件夹,找到.xcodeproj文件,右键选择显示包内容,找到project.pbxproj文件
  2. 打开project.pbxproj文件,查找PODS_ROOTLIBRARY_SEARCH_PATHSHEADER_SEARCH_PATHSLIBRARY_SEARCH_PATHSOTHER_LDFLAGS把和这些相关的内容都删除

方法2

  1. 打开项目Target --> building settings中搜索下面的

  2. Header Search PathsOther Linker Flags,在对应的工程中把$(inherited)加进去即可

    building settings设置

  3. Swift项目中 Always Embed Swift Standard Libraries,值类型是bool,点击other,把值换成$(inherited)

Always Embed Swift Standard Libraries设置

无论方法1或者方法2完成后都必须执行pod update

完成

问题2

[!]The 你的工程名字 [Debug] target overrides the ENABLE_BITCODE build setting defined in `Pods/Target Support Files/Pods-HQECNewVersion/Pods-HQECNewVersion.debug.xcconfig'.
ENABLE_BITCODE

同理:

  1. 打开工程所在文件夹,找到.xcodeproj文件,右键选择显示包内容,找到project.pbxproj文件
  2. 打开project.pbxproj文件,查找ENABLE_BITCODE这些相关的内容都删除
ENABLE_BITCODE删除

然后执行pod update

结果

问题3

The `XXX [Debug]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods-YYKitDemo/Pods-YYKitDemo.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

Targets --> Build Settings --> Other Linker Flags -->加一个$(inherited)

你可能感兴趣的:(CocoaPods 导库时提示Use the `$(inherited)` flag, or - Remove the build settings from the target)