使用cocoapods

CocoaPods 是一个集中管理第三方库的配置工具,我们使用cocoapods导入的库有:AFN、SD、FMDB..第三方库。集中升级pod update ,全部第三方库均会更新到最新版本。它是95%的代码来源于github的源代码,所以也同时附带有github地址,可以从上面下载源demo参考。


1.设置ruby环境源

gem sources -a https://ruby.taobao.org/


2.查看环境源

gem sources -l


3.安装cocoapods

sudo gem install cocoapods


4.搜索(AF)库

pod search AF关键字


5.在终端上cd 我们所需导入cocoapod库的项目路径

cd /Users/air/Documents/1503/测试/mapkitUse


6.创建一个叫Podfile得文件

vim Podfile


7.譬如我们需要导入一个AF..

platform :ios, '7.0'

pod 'AFNetworking', '~> 2.5.4'


8.esc ->  shift+:  ->  wq 保存


9.库安装

pod install



10.更新库

pod update


/* 以下是我在整理cocoapods的时候遇到的一些问题,解决的方法在下面*/

cocapods 更新第三方库遇到的问题

(1)卡在Updating local specs repositories

pod install  被抢了,请大家换成pod install --verbose --no-repo-update

(2)出现这种警告

Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

解决办法:不要使用文本编辑去编辑Podfile,使用Xcode编辑,或者使用终端敲命令去编辑。或者输入格式错误,没输入运行版本:$platform:ios, ‘9.0‘


(3)使用cocoapods导入第三方类库后头文件没有代码提示?

解决办法: 选择Target -> Build Settings 菜单,找到\”User Header Search Paths\”设置项,新增一个值"${SRCROOT}",并且选择\”Recursive\”


更多安装注意事项详解:http://blog.csdn.net/pass7580/article/details/49908425

platform :ios, '8.0'

pod 'Alamofire', '~> 1.1'
pod 'Taplytics'
pod 'MBProgressHUD'
pod 'Atlas'

use_frameworks!

就是在加入你需要的那些库之后最后再加一句use_frameworks!


特别特别特别要注意的:项目架构配置必须要一致,不然会出现缺少库的情况


下面是添加第三方库遇到的一些问题并找到的解决方法

转自:http://blog.csdn.net/jymn_chen/article/details/19213601

引言

使用CocoaPods(一)为项目配置第三方类库我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个类库不适用,甚至是整个CocoaPods我们都不想再在项目中持有,那么我们要怎么把这些东西从项目中清理出去呢?本文介绍的就是如何删除一个或若干个已经在项目中配置好的第三方类库,以及如何将整个CocoaPods从项目中移除(不是在终端中卸载)。

 

 

删除项目中已经配置的类库

和(一)类似,我们首先新建一个名为CocoaPodsDemo的项目,然后cd到项目目录下新建一个Podfile文件,并编写该文件,内容如下:

 

  1. platform:ios, '7.0'    
  2. pod 'AFNetworking', '~> 2.1.0'  
  3. pod 'JSONKit', '~> 1.5pre'  
  4. pod 'MBProgressHUD', '~> 0.8'  


相比(一),我们将要加入的JSONKit的版本从1.1升级到1.5 preview版。

 

然后pod install,可以看到安装是成功的。

打开CocoaPodsDemo.xcworkspace文件,编译一下,会出现报错:

原因是JSONKit类库出现了各种各样的问题。

这个时候,我们很自然想到要删掉这个类库,然后尝试使用低版本的JSONKit(这也是我在(一)中为什么用1.1作为示例的原因)。

 

方法:

1.打开Podfile文件,删除JSONKit该行,即:

platform:ios, '7.0'  
pod 'AFNetworking', '~> 2.1.0'
pod 'JSONKit', '~> 1.5pre'(删除该行)
pod 'MBProgressHUD', '~> 0.8'

(如果想换成1.1版本,将被删除的行改成pod 'JSONKit-NoWarning', '~> 1.1'即可)

 

2.cd到当前项目目录下,重新执行pod install命令。输出信息如下(留意Removing JSONKit):

 

  1. $ pod install  
  2. Analyzing dependencies  
  3. Removing JSONKit  
  4. Downloading dependencies  
  5. Using AFNetworking (2.1.0)  
  6. Using MBProgressHUD (0.8)  
  7. Generating Pods project  
  8. Integrating client project  

 

 

3.重新打开xcworkspace文件,可以看到JSONKit被移除,再次编译将会通过:

 

 

 

在项目中移除CocoaPods

如果你觉得CocoaPods让你的项目出现了问题,不好用甚至是恶心,想将其从项目中彻底移除,也有方法:

1.删除工程文件夹下的Podfile、Podfile.lock和Pods文件夹。

2.删除xcworkspace文件。

3.打开xcodeproj文件,删除项目中的libpods.a和Pods.xcconfig引用:

4.打开Build Phases选项,删除Check Pods Manifest.lock和Copy Pods Resources:

 

完成,编译运行,无错通过。

个人感觉,从项目中移除某个类库还算是可以的,但是移除整个CocoaPods就有点麻烦了(也可能是我没有找对方法),希望CocoaPods能作出改进。

 

另外,如果在编辑工程时不小心删除了某个文件,如Podfile.lock,那么我们就要用上面的方法先移除整个CocoaPods,然后重新建立Podfile和使用pod install命令重装CocoaPods(有够麻烦的)。

 

2016.6.27 前一段时间xcode升级到7.3了,导致cocoapods使用不了,网上找到这个方法

1.打开终端,输入以下命令

defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

2.获取到所需的类似于字符串之后的DVTPlugInCompatibilityUUID之后,再输入以下命令

find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add 第一步索取的字符串

即可解决。

CocoaPods更新版本后,安装跟更新第三方报错

[!] The dependency `AFNetworking (~> 2.5.4)` is not used in any concrete target.

具体处理方法

platform :ios,'7.0'



target 'ReactiveCocoa' do

pod 'AFNetworking','~> 2.5.4'


end

use_frameworks!




参考资料

从工程中删除Cocoapods

How to remove CocoaPods from a project?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值