CocoaPods疑难杂症
2017-06-16 本文已影响71人
笨鱼BennettPenn
编译宏出错问题
1.target配置冲突
在执行命令pod install
安装完毕后提示一下错误
原因是pod在target的配置和target原有的默认配置冲突,两个设置的内容不一致导致这样的warming。
1.1 解决方法 1
打开build Settings下的PODS_ROOT和Other Linker Flags的值使用$(inherited)
来代替,重新执行pod install
或者pod update
即可
1.2 解决方法 2
- 在finder中找到demo.xcodeproj显示包内容
- 用文本编辑器打开project.pbxproj
- 搜索OTHER_LDFLAGS并删除该字段
- 重新执行
pod install
或者pod update
即可
2.Undefined symbols错误
错误如下图
Undefined symbols 错误信息原因是在工程使用了target的默认配置,cocoapods的配置并没有生效。
2.1 解决办法 1
Build Settings下Other Linker Flags下,添加$(OTHER_LDFLAGS)
2.2 解决办法 2
Build Settings下Other Linker Flags下,删除所有的值,然后添加$(inherited)
宏变量
使用指定版本代码版本pod install无效果
如在工程中使用AFNetworking
开源代码的2.0.0
版本,当前的2.0.0
版本无法满足现有需求的时候,AFNetworking
需要更新到3.0.0
以上,当修改Podfile
文件是pod 'AFNetworking' ,'~> 3.0.0'
,并执行pod install
的时候,代码并没有更新到3.0.0
版本,还是原来的2.0.0
版本。
原因是在第一次安装该添加代码时,会在Podfile.lock文件中描述AFNetworking
库的版本信息、git信息等,并锁定版本信息。
解决办法
使用文本编辑器,查找更改了AFNetworking
关键字,并删除和AFNetworking
相关的信息并保存,然后重新执行pod install
即可。
还有一个更暴力的方法,直接删除Podfile.lock
文件和Pods
文件夹,重新执行pod install
。