ios开发 使用cocoapods导入第三方库

Posted 全栈攻城狮之道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios开发 使用cocoapods导入第三方库相关的知识,希望对你有一定的参考价值。

好久没碰object-c了,现在接了个ios的项目做,所以想着写一篇ios相关的文章吧。可能写完这篇文章后会停一个多月不写文章,原因是想谈下一个项目来做,现在做需求分析,没什么问题下个星期就要开始开发了。



01

什么是CocoaPods,用来做什么?



使用android Studio做Android开发的朋友对Gradle都不会默生,没错,CocoaPods就与Gradle相似,是用来导入和管理第三库的。当你开发IOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,对于这种情况手动下载类库配置是最烦人的,而使用CocoaPods来导入第三方库,当导入的第三方库又依赖其它库时,CocoaPods会自动下载依赖的库并导入到项目中,大大方便了开发人员。因此做ios开发,cocoapods是一项必须掌握的技能。



02

CocoaPods的下载安装



首先,CocoaPods是在Ruby环境下运行的,在安装CocoaPods之前必须先安装Ruby,而Mac默认是自带Ruby的,但有可能版本很老。如果安装CocoaPods过程中出错就很有可能因为ruby版本过低导致的,所以先检查一下Ruby的版本信息,如果没有安装就需要安装。关于ruby,因为我也不懂ruby,只要能正常安装CocoaPods我就不想去折腾,想了解的网上有很多教程。


CocoaPods下载安装命令:


sudo gem install cocoapods

但是,先别急着敲这行命令,因为你是在天朝。世界上最远的距离不是南北极,而是一墙之隔。其实解决方法也很简单,就是改用淘宝的Ruby镜像来访问cocoapods就行了。

1.gem sources --remove https://rubygems.org/

2.gem sources -a http://ruby.taobao.org/

3.gem sources -l


按顺序输入以上1,2条指令来修改ruby镜像,输入第一条指令后等待有反应后再输入第二条指令,第三条指令用于查看当前ruby镜像。这些东西不用深究,只要能安装cocoapods就成了。


使用gem sources -l查看当前镜像如果是https://ruby.taobao.org就说明修改成功了,这时候就可以使用sudo gem install cocoapods指令安装 cocoapods了。

ios开发 使用cocoapods导入第三方库

sudo gem install cocoapods指令执行完成后,在终端输入pod,如果显示如下信息,则说明安装成功了。

ios开发 使用cocoapods导入第三方库


03

使用cocoapods构造ios项目


举例:新建一个项目,项目命名为CocoaPodsUse,使用cocoapods在项目中导入AFNetworking。


一、新建CocoaPodsUse项目

ios开发 使用cocoapods导入第三方库


二、确认AFNetworking是否支持CocoaPods

 

cocoapods的搜索命令:

pod search xxx

使用pod search AFNetworking可以确认AFNetworking是否支持CocoaPods,及查看最新版本和历史版本信息。

ios开发 使用cocoapods导入第三方库


可以看到,当前最新版本为3.1.0,还有一句话介绍该框架:一个ios和os x默认的网络框架;还有就是在Podfile文件中配置的方法:pod 'AFNetworking', '~> 3.1.0'


三、编写cocoapods的配置问Podfile


进入到刚创建的CocoaPodsUse项目的根目录下,新建一个文件名为Podfile的文件,不需要任何后缀。在文件中写入以下脚本:


platform:ios,'8.0'

use_frameworks!

target '项目名'

pod 'AFNetworking','~> 3.1.0'


ios开发 使用cocoapods导入第三方库


  1. platform是配置平台信息,可以是ios和os x,平台后面加逗号,最后是开发选择兼容的系统最低版本;

  2. use_frameworks!和target '项目名'这两句是固定要写的,其中把target这一行的项目名改成你的项目名就好了;

  3. pod '框架名','~> 版本号' 这一行是配置项目依赖的框架。


04

项目的正确打开方式

 

运行pod install命令后会在项目的跟目录下产生一个“Podfile.lock”文件和一个“Pods”文件夹,还有一个是xcworkspace文件。以后打开项目就用 CocoaPodsUse.xcworkspace 打开,而不是之前的.xcodeproj文件。


双击CocoaPodsUse.xcworkspace文件打开工程之后,项目Xcode目录结构如下图: 

ios开发 使用cocoapods导入第三方库


使用cocoapods安装的第三方库就在项目根目录的Pods目录下。


05

项目中使用第三方库AFNetworking


我们来写代码测试一下第三方库AFNetworking是否可以正常使用。


一、配置网络访问权限

首先使用网络需要在项目的配置文件info.plist中配置网络访问权限:

  1. 打开项目配置文件info.plist文件,在information Property List下新建一个字段App Transport Security Settings;

  2. 在新建的App Transport Security Settings下新建一个Allow Arbitrary Loads字段,并取值为yes。


ios开发 使用cocoapods导入第三方库


二、解决import三方库没有提示


用cocoapods安装完成所需的第三方库在需要导入的地方发现import没有代码提示,虽然说可以手动写完,但是没有自动提示每次手打麻烦不说,还有可能会打错,而且编写代码时用到三方库时也没有代码提示自动补全功能。


解决办法:

  1. 选择target—> BuildSettings —> search Paths 下的 User Header Search Paths;

  2. 双击后面的空白区域,点击“+”号添加一项输入$(PODS_ROOT),选择recursive(会在相应的目录递归搜索文件);

ios开发 使用cocoapods导入第三方库


三、测试get请求

 


get请求代码:

ios开发 使用cocoapods导入第三方库


log日记输出:

ios开发 使用cocoapods导入第三方库


效果:

ios开发 使用cocoapods导入第三方库






移动开发与网络安全技术栈  一个有用的公众号
长按,识别二维码,加关注




以上是关于ios开发 使用cocoapods导入第三方库的主要内容,如果未能解决你的问题,请参考以下文章

cocoapod 导入第三方库

iOS开发笔记 - 用CocoaPods管理第三方库

cocoaPods的安装

手把手教学:在iOS 8中使用Cocoapods

如何在swift中使用cocoapods导入的第三方oc库

iOS开发:框架QMUIKit的使用 | 使用第三方UI框架 | cocoapods的使用