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下载安装命令:
但是,先别急着敲这行命令,因为你是在天朝。世界上最远的距离不是南北极,而是一墙之隔。其实解决方法也很简单,就是改用淘宝的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了。
sudo gem install cocoapods指令执行完成后,在终端输入pod,如果显示如下信息,则说明安装成功了。
03
使用cocoapods构造ios项目
举例:新建一个项目,项目命名为CocoaPodsUse,使用cocoapods在项目中导入AFNetworking。
一、新建CocoaPodsUse项目
二、确认AFNetworking是否支持CocoaPods
cocoapods的搜索命令:
pod search xxx
使用pod search AFNetworking可以确认AFNetworking是否支持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'
-
platform是配置平台信息,可以是ios和os x,平台后面加逗号,最后是开发选择兼容的系统最低版本;
-
use_frameworks!和target '项目名'这两句是固定要写的,其中把target这一行的项目名改成你的项目名就好了;
-
pod '框架名','~> 版本号' 这一行是配置项目依赖的框架。
04
项目的正确打开方式
运行pod install命令后会在项目的跟目录下产生一个“Podfile.lock”文件和一个“Pods”文件夹,还有一个是xcworkspace文件。以后打开项目就用 CocoaPodsUse.xcworkspace 打开,而不是之前的.xcodeproj文件。
双击CocoaPodsUse.xcworkspace文件打开工程之后,项目Xcode目录结构如下图:
使用cocoapods安装的第三方库就在项目根目录的Pods目录下。
05
项目中使用第三方库AFNetworking
我们来写代码测试一下第三方库AFNetworking是否可以正常使用。
一、配置网络访问权限
首先使用网络需要在项目的配置文件info.plist中配置网络访问权限:
打开项目配置文件info.plist文件,在information Property List下新建一个字段App Transport Security Settings;
在新建的App Transport Security Settings下新建一个Allow Arbitrary Loads字段,并取值为yes。
二、解决import三方库没有提示
用cocoapods安装完成所需的第三方库在需要导入的地方发现import没有代码提示,虽然说可以手动写完,但是没有自动提示每次手打麻烦不说,还有可能会打错,而且编写代码时用到三方库时也没有代码提示自动补全功能。
解决办法:
-
选择target—> BuildSettings —> search Paths 下的 User Header Search Paths;
-
双击后面的空白区域,点击“+”号添加一项输入$(PODS_ROOT),选择recursive(会在相应的目录递归搜索文件);
三、测试get请求
get请求代码:
log日记输出:
效果:
以上是关于ios开发 使用cocoapods导入第三方库的主要内容,如果未能解决你的问题,请参考以下文章