`
啸笑天
  • 浏览: 3462622 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

CocoaPods 第三方库管理工作

 
阅读更多

https://github.com/cocoapods/cocoapods

 

官方指导:

http://guides.cocoapods.org/

 

安装个AFNetworking:

https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking

 

note:

1、如果ruby版本过旧要更新: gem update --system

2、创建一个 Podfile 文件:touch Podfile

3、

pod install

当你第一次你想获取pods项目时,以及当你每次编辑你的 Podfile 来增加、更新或者移除某个pod的时候。

  • 每当你运行 pod install 指令时——下载和安装pods时——CocoaPods都会把每个安装的pods的版本,写在 Podfile.lock 文件里。这个文件跟踪纪录了安装了的pods的版本信息并锁住版本。
  • 当你运行 pod install 时,它只安装没有列在 Podfile.lock 里的pods。
    • 对于已经列在 Podfile.lock 中的pods,它会下载 Podfile.lock 中列的确切的版本,而不会去检查这些pods是否有新的可用版本。
    • 对于那些还没有列在 Podfile.lock 中的pods,它会寻找满足 Podfile 中约束条件的pods(例如 pod 'MyPod','~>1.2')

pod outdated

当你运行 pod outdated ,CocoaPods 会列出所有 Podfile.lock 文件中已经过时的pods。也就是说,如果你运行 pod update PODNAME (PODNAME为列出的pods名称),它们将会被更新(只要它们满足 Podfile 中满足的约束条件。)

pod update

当你运行 pod update PODNAME,CoacoPods将会试着去找名为 PODNAME 的pod的更新版本,而不考虑 Podfile.lock 文件中的内容。它会将该pod更新至最新版本(同时只要它满足Podfile中的约束),并且也会相应的更新 Podfile.lock 中的内容。

如果你运行 pod update ,不加任何参数,CocoaPods将会把所有在 Podfile 中列举的pods更新到最新版本。

推荐用法

使用 pod update PODNAME,你将只能够更新一个特定的pod(检查是否有新版本并且更新)。而不是像 pod install 那样不去尝试更新已安装的pods。

当你把pod加入到 Podfile 后,你应当运行 pod install 而不是 pod update

也就是说,只有当你想去升级特定pod(或是全部pods)的时候才用 pod update [PODNAME]

把你的 Podfile.lock 加入到版本控制中

作为提醒,即使我们不需要把Pods项目上传到版本管理的仓库中,我们也应当始终commit & push 我们的 Podfile.lock 文件。

 

 

把自己Github上的代码添加Cocoapods支持

  • 代码上传Github
  • 创建podspec文件,并验证是否通过

创建podspec

 

pod spec create EZPlayer
验证EZPlayer.podspec

 

 

pod lib lint EZPlayer.podspec
当看到EZPlayer passed validation之后,就说明验证通过了。 

 

  • 在Github上创建release版本
  • 注册CocoaPods账号

 

pod trunk register niubi@qq.com  ‘username’
 然后到邮箱验证邮箱。

 

用下面指令验证注册成功:

 

pod trunk me  
 

 

  • 上传代码到CocoaPods

首先检测文件格式的有效性:

pod spec lint

 

出现passed validation就说明通过验证了。然后执行:

pod trunk push EZPlayer.podspec

 

  • 检查上传是否成功(查找不到请先执行 pod setup)
pod search EZPlayer

 

 
分享到:
评论
7 楼 啸笑天 2017-01-05  
把自己Github上的代码添加Cocoapods支持
https://yq.aliyun.com/articles/62403

Cocoapods高级使用
https://mp.weixin.qq.com/s?__biz=MzI2NzQyODU0Ng==&mid=2247483680&idx=1&sn=eb88a696e3139cff7f2ee1c60b7488b0&key=9c48b642bc3f329a7cf4d46ae62b8672586c1d82e7f0619bf0a9a3beaeecb18cccd4ff47902c1be367a3ef5ebffe57448504e2fce0bfd69f2156d645ee5b149ef1c6505c1928468612c91e2136de3ce3&ascene=0&uin=MTgyNTE1NzU%3D&devicetype=iMac+MacBookPro12%2C1+OSX+OSX+10.12.2+build(16C67)&version=12010210&nettype=WIFI&fontScale=100&pass_ticket=aTpOLZWQxwVyQQ3A%2Bg6JYWfBM2CECW1JVY0h3ZsrW2g%3D

如何将自己的SDK上传到GitHub上并用cocoapods管理
http://www.jianshu.com/p/7dd9bfe8ee69#
6 楼 啸笑天 2017-01-04  
CocoaPods爬坑指南 | 掘金技术征文
在CocosPods浪费时间总计超过50小时...看了一眼笔记,感觉可以总结出一篇博客了.....

安装

从ruby开始安装一直到pod ,适合新电脑第一次安装,下面指令直接复制在命令行里执行

//安装rubu
rvm install 2.3.0
rvm use 2.3.0 --default
gem install bundler
// 上面不用重复安装,下面的根据遇到的问题可能需要重新安装
// 安装pod
sudo gem install cocoapods
// cocoaPods换源
gem sources --remove http://ruby.taobao.org/
gem sources -a https://ruby.taobao.org/
// 查看源 出现ruby.taobao.org就对了
gem sources -l
// 更新pod
pod setup
使用

// 搜索库
pod search 库的关键字
// 为项目导入依赖
pod install
// 已经导入过一次相关的第三方,想快速导入,不再从网上下载
pod install --verbose --no-repo-update
// 为项目更新依赖
pod update
删除

有时候pod抽风了..需要删除项目中的pod重新导入,或者删除pod重新安装pod

删除项目pod依赖

删除项目中根目录下带pod的文件

删除所有target下 Build Phases 下带pod的条目

删除文件目录下的workspace和Pods文件夹

如果删除成功再次编译应该会报错找不到头文件的错误,不会报找不到pod那种恶心的错误了

删除pod

// 普通删除
sudo gem uninstall cocoapods

// 如果这么删重装还不好用
// 比如install 后没有workspace 或者提示 Generating Pods project Abort trap: 6
// 试试下面的删除
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
sudo gem uninstall cocoapods-deintegrate
sudo gem uninstall cocoapods-downloader
sudo gem uninstall cocoapods-plugins
sudo gem uninstall cocoapods-search
sudo gem uninstall cocoapods-stats
sudo gem uninstall cocoapods-try
sudo gem uninstall cocoapods-trunk

// 然后可以去下载最新版了,然后正常使用了
sudo gem install cocoapods
pod setup
相关文章:

使用CocoaPods时遇到pod setup失败的解决办法:
http://www.cocoachina.com/bbs/read.php?tid=193398&page=1
如何删除工程的pod:
http://www.jianshu.com/p/552f21a989ba
5 楼 啸笑天 2017-01-04  
[译]关于 pod install 和 pod update 的那点事
原文链接:https://guides.cocoapods.org/using/pod-install-vs-update.html

译者:Soledad
微博:@CaiYue_

CocoaPods
介绍
很多人刚接触 CocoaPods 时都会觉得 pod install 只在第一次给项目配置 CocoaPods 的时候使用,pod update 只在之后使用。然而 压根就不是那样的。(译者注:原文中还提到这里的install和update的含义和字典中的意思不完全相同,要具体问题具体分析,根据相关文档来判断。)

这篇文章的目的就是向你解释什么时候该用 pod install 和 pod update 。

TL;DR:
在你的项目里安装新pods时使用 pod install。即使你已经有 Podfile 和曾经运行过 pod install指令,所以即使你在已经使用CoacoPods的项目中刚刚增添/移除 pods,你也应当使用该命令。
只在你想让pods升级到新版本时才使用 pod update。
具体使用场景
pod install
当你第一次你想获取pods项目时,以及当你每次编辑你的 Podfile 来增加、更新或者移除某个pod的时候。

每当你运行 pod install 指令时——下载和安装pods时——CocoaPods都会把每个安装的pods的版本,写在 Podfile.lock 文件里。这个文件跟踪纪录了安装了的pods的版本信息并锁住版本。
当你运行 pod install 时,它只安装没有列在 Podfile.lock 里的pods。
对于已经列在 Podfile.lock 中的pods,它会下载 Podfile.lock 中列的确切的版本,而不会去检查这些pods是否有新的可用版本。
对于那些还没有列在 Podfile.lock 中的pods,它会寻找满足 Podfile 中约束条件的pods(例如 pod 'MyPod','~>1.2')
pod outdated
当你运行 pod outdated ,CocoaPods 会列出所有 Podfile.lock 文件中已经过时的pods。也就是说,如果你运行 pod update PODNAME (PODNAME为列出的pods名称),它们将会被更新(只要它们满足 Podfile 中满足的约束条件。)

pod update
当你运行 pod update PODNAME,CoacoPods将会试着去找名为 PODNAME 的pod的更新版本,而不考虑 Podfile.lock 文件中的内容。它会将该pod更新至最新版本(同时只要它满足Podfile中的约束),并且也会相应的更新 Podfile.lock 中的内容。

如果你运行 pod update ,不加任何参数,CocoaPods将会把所有在 Podfile 中列举的pods更新到最新版本。

推荐用法
使用 pod update PODNAME,你将只能够更新一个特定的pod(检查是否有新版本并且更新)。而不是像 pod install 那样不去尝试更新已安装的pods。

当你把pod加入到 Podfile 后,你应当运行 pod install 而不是 pod update。

也就是说,只有当你想去升级特定pod(或是全部pods)的时候才用 pod update [PODNAME]。

把你的 Podfile.lock 加入到版本控制中
作为提醒,即使我们不需要把Pods项目上传到版本管理的仓库中,我们也应当始终commit & push 我们的 Podfile.lock 文件。

否则,it would break the whole logic explained above about pod install being able to lock the installed versions of your pods.

译者注
原文末尾还举了一个实际中应用 pod install 和 pod update 的例子,并提了一个不要在Podfile中写死特定版本的建议。链接戳此https://guides.cocoapods.org/using/pod-install-vs-update.html。

文/蔡越(简书作者)
原文链接:http://www.jianshu.com/p/0c54b6cb78b8
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
4 楼 啸笑天 2016-09-11  
http://www.cnblogs.com/yan520/p/5583362.html    2016 cocoapods的安装和使用以及版本升级遇到的问题
3 楼 啸笑天 2015-08-17  
使用Cocoapods创建私有podspec http://www.cocoachina.com/ios/20150228/11206.html
2 楼 啸笑天 2015-08-17  
CocoaPods详解之----使用篇 http://blog.csdn.net/wzzvictory/article/details/18737437
CocoaPods详解之----进阶篇  http://blog.csdn.net/wzzvictory/article/details/19178709
CocoaPods详解之----制作篇 http://blog.csdn.net/wzzvictory/article/details/20067595
1 楼 啸笑天 2014-01-05  
http://www.cnblogs.com/superhappy/archive/2013/04/23/3038493.html

相关推荐

    使用cocoapods下载第三方库

    CocoaPods是iOS和macOS开发中广泛使用的依赖管理工具,它可以帮助开发者方便地集成、管理和更新第三方库。在本文中,我们将深入探讨如何使用CocoaPods来下载和管理第三方库,以便于简化你的iOS或macOS项目开发。 **...

    Ruby 环境安装,CocoaPods安装,轻松管理你的第三方库

    如何安装 Ruby和Ruby Gems 的运行环境,CocoaPods环境安装与使用?

    pod的使用 ios管理第三方库

    ### 使用Pod进行iOS第三方库管理 #### 一、Pod简介 CocoaPods是一个非常流行的iOS和macOS项目的依赖管理工具。它可以帮助开发者轻松地集成第三方库和框架,极大地简化了项目的配置过程,并且能够有效地管理项目的...

    xcode 中 CoreData的第三方包的使用 项目源码

    在Xcode项目中,通常通过CocoaPods或Carthage来管理第三方库。首先,需要在Podfile或Cartfile中添加对应的依赖,然后运行`pod install`或`carthage update`命令来安装。 5. **配置与集成**: 引入第三方库后,...

    cocoaPods使用

    CocoaPods应运而生,它是一个强大的第三方库管理工具,专为OS X和iOS平台设计。通过CocoaPods,开发者可以方便地管理和集成第三方库,同时简化项目的构建过程。 ### 什么是CocoaPods CocoaPods是一个Ruby编写的...

    常用iOS第三方库以及XCode插件介绍.pdf

    第三方库管理工具CocoaPods的出现,极大简化了第三方库的集成过程,支持Objective-C和Swift,以其Framework方式引入第三方库,节省了大量集成时间。而iCarousel库解决了iOS早期Coverflow效果的实现问题,成为众多iOS...

    CocoaPods 安装与使用

    1. **下载原理**:当使用 CocoaPods 添加第三方库时,它会根据库的 Git 地址找到对应的仓库,并根据指定的版本号定位到具体的提交。如果没有指定版本号,则默认下载最新版本。接着,CocoaPods 会在提交中查找以 `....

    高职竞赛移动互联网应用软件开发第三方插件

    在iOS开发中,第三方插件同样丰富,如CocoaPods和Carthage是常用的依赖管理工具,它们允许开发者轻松地导入和管理第三方库。Alamofire简化了网络请求,SwiftyJSON使得JSON解析更为简便,而React Native或Flutter则...

    最新的CocoaPods安装,无需镜像

    在iOS开发过程中,CocoaPods作为最常用的依赖管理工具之一,极大地简化了第三方库及框架的集成与管理流程。本文将详细介绍一种最新的CocoaPods安装方法,该方法无需通过镜像服务器进行安装。 #### 一、安装...

    swift-让自己的库支持cocoaPods

    CocoaPods则是Objective-C和Swift开发者常用的一个依赖管理工具,能够帮助开发者轻松管理和集成第三方库。本篇文章将详细介绍如何让你的Swift库支持CocoaPods,以便其他开发者可以方便地在他们的项目中使用你的代码...

    第三方框架

    5. **JSONSerialization**(Foundation框架):这是Apple提供的基础JSON解析和序列化工具,虽然使用起来相对复杂,但在不使用第三方库的情况下,这是一个可靠的选项。 在实际开发中,选择哪个JSON工具主要取决于...

    CocoaPods的搭建与部署.pptx

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

    最新版本各类软件的安装包第三方库.docx

    ### 最新版本各类软件的安装包与第三方库指南 #### 引言 在软件开发以及日常使用中,获取并安装最新版本的软件...通过遵循以上指南,开发者可以更加高效地管理软件安装包及第三方库,从而提升项目的开发效率和质量。

    cocoapods-xcode-plugin-master

    CocoaPods 是 iOS 和 macOS 开发中广泛使用的依赖管理工具,它可以帮助开发者轻松管理和集成第三方库。Xcode 插件则是在 Xcode 开发环境中扩展功能的一种方式,"cocoapods-xcode-plugin-master" 正是这样一个专门...

    cocoapods-xcode-plugin插件

    CocoaPods是Objective-C和Swift项目的依赖管理器,它允许开发者通过简单的命令行界面来安装、更新和管理第三方库。而这款插件则进一步提升了开发者的体验,将这些操作直接集成到Xcode的IDE中。 首先,让我们了解...

    ios-超级好用的第三方轮播图(滚动图).zip

    这个压缩包很可能包含了一个这样的库,可能是一个CocoaPods项目,这是一种在iOS开发中管理和集成第三方库的流行方式。 轮播图的常见功能包括: 1. **自动播放**:轮播图可以设置自动切换图片,间隔时间可自定义。 ...

    CocoaPods工具链使用脚本

    CocoaPods是iOS和macOS开发中广泛使用的依赖管理工具,它简化了第三方库的引入和管理。本文将深入探讨CocoaPods工具链的使用脚本,以帮助开发者更高效地集成和管理项目中的第三方框架。 首先,了解CocoaPods的基本...

Global site tag (gtag.js) - Google Analytics