CocoaPods疑难杂症

编译宏出错问题

1.target配置冲突

在执行命令pod install安装完毕后提示一下错误

Cocoapod报错信息

原因是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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 22,574评论 0 39
  • CocoaPods简介 CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源...
    简思哲阅读 5,126评论 0 3
  • CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,...
    宝山潇洒哥阅读 9,507评论 0 1
  • 一. CocoaPods的介绍 什么是CocoaPods?CocoaPods是一个负责管理iOS项目中第三方开源库...
    辉712阅读 9,401评论 0 7
  • 断断续续的画,时间都被艺术教学给打散了,幸而这也是一群散着的小叶子。以色寻形,是我再度创作的一条主线。关注秋日的色...
    永恒的饭阅读 1,761评论 0 0