升级新版CocoaPod的几点注意

5月10号,CocoaPods发布了1.0.0版本,本文将介绍升级CocoaPods之后iOS项目的配置变化。

1 Podfile变化

新版CocoaPod要求必须在Podfile中标识“target”,即针对的项目名,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'

target 'EOAS' do
pod 'Masonry', '0.6.4'
pod 'PNChart', '0.8.8'
pod 'SWTableViewCell', '0.3.7'
pod 'TPKeyboardAvoiding', '1.2.11'
pod 'MJExtension', '3.0.10'
pod 'FXBlurView', '1.6.4'
pod 'FSCalendar', '1.8.2'
pod 'SDWebImage', '3.7.5'
pod 'ViewDeck', :git => 'https://github.com/ElvinChan/ViewDeck.git', :branch => 'develop'
end

否则在执行pod install命令时会报错
pod install 报错

2 编译时报“找不到Podfile.lock”的错误

在已经成功执行pod install的情况下,项目编译仍无法通过
项目编译时报错

随后查找到解决方案
Stackoverflow

执行

1
2
rm -rf 项目名.xcworkspace
pod install

编译还是报错,但与上次不同,如下图
项目编译时报错

最终找到官方Github仓库中的issue
Github

所以正确的解决方法是:右键项目工程文件(.xcodeproj),显示包内容,用文本编辑器打开project.pbxproj文件,查找包含“libPods.a”的行,删除即可。如下图
修改工程文件

总结,CocoaPods 1.0 重命名了libPod的名字,导致旧项目在使用新版CocoaPods时报错,需手动解决。