CocoaPods 的安装和使用 - 详解步骤

一、CocoaPods的安装
CocoaPods的安装方式异常简单,Mac下都是自带ruby,使用ruby的gem命令即可下载安装:

$ sudo gem install cocoapods

$ pod setup

如果你的gem太老,可以尝试用如下命令升级gem:

$ sudo gem update –system

另外,ruby的软件源rubygems.org因为使用亚马逊的云服务,所以被蒙蔽了,需要更新一下ruby的源替换成国内淘宝的源:

先移除当前ruby的源
gem sources – remove https://rubygems.org/

更换为国内淘宝的源
gem sources -a http://ruby.taobao.org/

查看一下当前的源是否更新成功
gem sources -l

如果终端输出下面的结果说明成功了

* CURRENT SOURCES *

https://ruby.taobao.org/

有一点需要注意,pod setup在执行的时候,会输出Setting up CocoaPods master repo ,但是会等待比较久的时间。这步其实是CocoaPods 在将它的信息下载到~/.cocoapods目录下,如果你等太久,可以试着开出一个终端窗口cd到这个目录,用du -sh*来查看下载进度。下面我会说明通过“使用CocoaPods的镜像索引”来提高下载的速度。

二、使用CocoaPods的镜像索引
所有的项目的Podspec文件都托管在https://github.com/CocoaPods/Specs。第一次执行pod setup时,CocoaPods会将这些Podspec索引文件更新到本地的~/.cocoapods/目录下,这个索引文件比较大,有80MB左右。所以第一次更新时非常慢,可能要一个小时。
一个akinliu(http://akinliu.github.io/2014/05/03/cocoapods-specs-/)的人在gitcafe(http://gitcafe.com/)和occhina(http://www.oschina.net/)上建立了CocoaPods索引库的镜像,因为gitcafe和occhina都是国内服务器,所以执行索引更新操作时,会快很多,如下操作将CocoaPods设置成使用gitcafe镜像:

pod repo remove master

pod repo add master https://gitcafe.com/akuandev/Specs.git

pod repo update

https://gitcafe.com/akuandev/Specs.git 替换成http://git.oschina.net即可使用occhina上的镜像。

三、使用CocoaPods

使用时需要新建一个名为Podfile的文件,如以下的格式,将依赖的库名字依次列在文件中即可:

source ‘https://github.com/CocoaPods/Specs.git‘#官方仓库地址
platform :ios, ‘9.0’

use_frameworks!

target ‘SaTingText’ do

pod ‘AFNetworking’, ‘~> 3.1.0’

end

注意这个target 是工程的名字不要写错!!!Podfile文件名字只能是Podfile!!!

然后将编辑好的Podfile文件放到项目的根目录下,执行下面的命令:

cd”your project home”

pod install

现在,所有的第三方库都已经下载完成了并且设置好了编译参数和依赖,你只需要记住下面两点即可:

1.使用CocoaPods生成的.xcworkspace 文件来打开你的工程,而不是原来的.xcodeproj文件。
2.每次你想添加第三方库更改Podfile文件,都要重新执行一次pod update 命令。

四、查找第三方库

如果不知道CocoaPods管理的库中是否有你想要的库,那么你就可以通过pod search 命令进行查找,以下是我用pod search json查找到的所有可用的库:

-> JSON (5.0.0)
JSON made so simple, it hurts
pod ‘JSON’, ‘~> 5.0.0’
- Homepage: https://github.com/3lvis/JSON
- Source: https://github.com/3lvis/JSON.git
- Versions: 5.0.0, 5.0.0-beta1, 4.0.2, 4.0.1, 4.0.0, 3.1.0, 3.0.0, 2.1.1,
2.1.0, 2.0.0 [master repo]

-> json-parser-swift (0.2.0)
JSON parser & tokenizer in pure Swift
pod ‘json-parser-swift’, ‘~> 0.2.0’
- Homepage: https://github.com/webconnex/json-parser-swift
- Source: https://github.com/webconnex/json-parser-swift.git
- Versions: 0.2.0, 0.1.1, 0.1.0, 0.0.2, 0.0.1 [master repo]

-> Json-Qqc (1.0.80)
Json-Qqc
pod ‘Json-Qqc’, ‘~> 1.0.80’
- Homepage: https://github.com/xukiki/Json-Qqc
- Source: https://github.com/xukiki/Json-Qqc.git
- Versions: 1.0.80 [master repo]

-> JSON-Schema-Test-Suite (1.1.2-Pod)
… 省略若干行

五、注意事项

1.关于.gitignore

当你执行 pod install 之后,除了Podfile外,CocoaPods还会生成一个名为Podfile.lock的文件,你不应该把这个文件加到你的.gitignore忽略掉。因为Podfile.lock会锁定当前各依赖库的版本,之后即使多次执行pod install也不会更改版本,只有执行pod update才会改变Podfile.lock。在多人团队协作的时候,这样可以防止第三方库升级是造成大家各自的第三方库版本不一致。

2.为自己的项目创建podspec文件

我们可以为自己的开源项目创建podspec文件,首先通过如下命令初始化一个podspec文件:

pod spec create your_pod_spec_name

该命令执行后,CocoaPods会生成一个名为your_pod_spec_name.podspec的文件,然后我们修改其中的相关内容即可。

具体步骤大家可以百度一下~由于篇幅过长这边就不做过多介绍。

3.使用私有的pods

我们可以直接指定某一个依赖的podspec,这样就可以使用企业内部的私有库。该方案有利于使用企业内部的公共项目支持CocoaPods,例如:

pod ‘TMCode’ , :podspec => ‘https://yuantiku.com/common/myCommon.podspec

4.不更新podspec

CocoaPods 在执行pod install 和pod update时,会默认先更新一次podspec索引。使用–no-repo-update 参数可以紧致其做索引更新操作。代码如下所示:

pod install –no-repo-update

pod update –no-repo-update

5.生成第三方库帮助文档

如果你想让CocoaPods帮你生成第三方库的帮助文档,并集成到xcode中,那么用brew安装appledoc即可:

brew install appledoc

关于appledoc,它的最大的优点是可以将帮助文档集成到xcode中,这样你在敲代码的时候,按住Option键单击类名或者方法名,就可以显示出相应的帮助文档。

六、CocoaPods的原理

CocoaPods的原理将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作就从主项目转移到了Pods项目中。技术细节如下:

1.Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。

2.对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。

3.CocoaPods通过一个名为Pods.xcconfig的文件在编译时设置所有的依赖和参数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Element-UI是一个基于Vue.js的UI组件库,其中包含了丰富的UI组件,包括上传组件element-upload。使用element-upload可以轻松实现文件上传的功能,并提供了多种配置选项,可以满足不同场景的需求。 使用element-upload的步骤如下: 1. 安装Element-UI 在Vue.js项目中使用Element-UI,需要先安装Element-UI组件库。可以通过npm进行安装: ```bash npm i element-ui -S ``` 2. 引入Element-UI组件库 在Vue.js项目中,需要在main.js文件中全局引入Element-UI组件库: ```javascript import Vue from 'vue'; import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; Vue.use(ElementUI); ``` 3. 使用element-upload组件 在Vue.js项目中,可以使用element-upload组件实现文件上传功能。以下是一个简单的例子: ```vue <template> <div> <el-upload class="upload-demo" action="/upload" :on-success="handleSuccess" :on-error="handleError" :before-upload="beforeUpload" :file-list="fileList" :multiple="false" :limit="3" :accept="'image/jpeg,image/png'" :auto-upload="false" > <el-button slot="trigger" size="large" type="primary">选取文件</el-button> <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过3个文件</div> </el-upload> <el-button type="primary" @click="upload">上传到服务器</el-button> </div> </template> <script> export default { data() { return { fileList: [] } }, methods: { handleSuccess(response, file, fileList) { console.log(response, file, fileList); }, handleError(error, file, fileList) { console.log(error, file, fileList); }, beforeUpload(file) { console.log(file); }, upload() { console.log(this.fileList); // TODO: 将文件上传到服务器 } } } </script> ``` 在以上代码中,我们使用了el-upload组件来实现文件上传的功能。通过配置不同的属性,可以实现不同的上传需求,例如: - action:文件上传的URL地址; - on-success:上传成功后的回调函数; - on-error:上传失败后的回调函数; - before-upload:上传前的回调函数,可以在此函数中对上传的文件进行验证; - file-list:文件列表,用于展示已经上传的文件; - multiple:是否支持多选; - limit:最多上传的文件数量; - accept:限制上传的文件类型; - auto-upload:是否自动上传。 以上只是el-upload组件的一部分配置选项,具体的配置和使用方法可以参考Element-UI官方文档。 在上传文件后,我们可以通过handleSuccess回调函数获取到上传成功后的响应数据,并将文件列表保存到组件的data属性中。最后,我们可以通过上传按钮的click事件将文件列表上传到服务器。 需要注意的是,在实际的应用中,文件上传可能会涉及到更为复杂的业务逻辑和验证规则,需要根据实际情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值