这种警告是不能忽视的,如果不解决,它带来的直接后果就是无法通过编译,会出现由于部分库文件找不到而导致的种种问题:
编译失败,抛出
Undefined symbols for architecture i386
错误调用库中的方法,抛出
unrecognized selector sent to instance
错误
而产生此警告的原因是项目Target
中的一些设置,CocoaPods
也做了默认的设置,如果两个设置结果不一致,就会造成问题。
解决方法:
方法1(粗暴)
- 打开工程所在文件夹,找到
.xcodeproj
文件,右键选择显示包内容
,找到project.pbxproj
文件 - 打开
project.pbxproj
文件,查找PODS_ROOT
,LIBRARY_SEARCH_PATHS
,HEADER_SEARCH_PATHS
,LIBRARY_SEARCH_PATHS
,OTHER_LDFLAGS
把和这些相关的内容都删除
方法2
打开项目
Target
-->building settings
中搜索下面的-
Header Search Paths
和Other Linker Flags
,在对应的工程中把$(inherited)
加进去即可
Swift项目中
Always Embed Swift Standard Libraries
,值类型是bool
,点击other
,把值换成$(inherited)
无论方法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'.
同理:
- 打开工程所在文件夹,找到
.xcodeproj
文件,右键选择显示包内容
,找到project.pbxproj
文件 - 打开
project.pbxproj
文件,查找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)