`
啸笑天
  • 浏览: 3438226 次
  • 性别: 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

相关推荐

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

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

    CocoaPods:可可依赖管理器

    CocoaPods旨在改善第三方开源Cocoa库的参与度和可发现性。 这些项目目标影响并推动了CocoaPods的设计: 创建和共享库,并在您自己的项目中使用它们,而无需为库作者创建额外的工作。 集成非CocoaPods库,并使用简单...

    2016 cocoapods的安装和使用方法以及版本升级遇到的问题

    开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间,在iOS开发中经常会用到第三方库如AFNetworking,ASIHttpRequest等,在使用第三方库时,你除了要导数源码外...

    motion-cocoapods:通过CocoaPods将第三方库集成到RubyMotion for iOS OS X项目中

    motion-cocoapods允许RubyMotion项目与依赖管理器集成。 安装 $ [sudo] gem install motion-cocoapods 或者,如果您使用Bundler: gem 'motion-cocoapods' 设置 编辑Rakefile的RubyMotion项目并添加以下要求行: ...

    CocoaPods 安装与使用

    CocoaPods 是一个用于管理 iOS 项目依赖的开源工具。它允许开发人员轻松地添加、更新和删除第三方库和框架,从而简化了 iOS 开发过程中的依赖管理问题。以下是关于 CocoaPods 安装与使用的 PPT 资源描述。

    酒店管理毕业设计源码-Cocoapods-private-spec:ArepoforworkonspecrepoofCocoapods,Coc

    X和iOS下的一个第三方库管理工具,并且支持Objective-C和swifit语言。通过Cocoapods为项目添加称为"Pods"的依赖库(这些库必须是Cocoapods所支持的),并且轻松实现第三方库的版本管理。 引入Cocoapods的意义: ...

    IOS安装CocoaPods详细教程

    一、简介 什么是CocoaPods ...2、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。 二、Cocoapods安装步骤 注意:在终

    详解2016 cocoapods的安装和使用以及版本升级遇到的问题

    开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间,在iOS开发中经常会用到第三方库如AFNetworking,ASIHttpRequest等,在使用第三方库时,你除了要导数源码外...

    th-ios:一个app

    个人对文章和话题操作的记录,例如:关注,回复等等一、获取代码并且运行项目$ git clone https://github.com/chengfengjie/th-ios.git$ pod install项目用CocoaPods管理第三方库,如果您对CocoaPods还不够了解,请先...

    CocoaPods1.9.0 安装使用教程详解

    2、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。 其实之前是没这么搞过ios的第三方类库 后来了解到通过CocoaPods工具可以为项

    CocoaPods详解之----使用篇

    在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要:下载开源库的源代码并引入工程向工程中...CocoaPods是一个用来帮助我们管理第三方依赖库

    CocoaPods dependency manager:可可依赖管理器-开源

    CocoaPods 是 Swift 和 Objective-C Cocoa 项目的依赖管理器。 它拥有超过 82,000 个库,并在超过 300 万个应用程序中使用。... 最终目标是通过创建一个更加集中的生态系统来提高第三方开源库的可发现性和参与度。

    常用的第三方库控件

    2、用CocoaPods加入一些常用、成熟的第三方库。 3、Vendors下放一些体量小,且自己可能会直接修改源码的第三方类。 4、实现一个从服务端获取内容到UI显示的过程,做成基类供不同业务继承使用。 5、实现一些常用的UI...

    CocoaPods dependency manager:可可依赖经理-开源

    CocoaPods是Swift和Objective-C Cocoa项目的依赖项管理器。 它拥有超过8.2万个库,并在超过300万个应用程序中使用。... 最终目标是通过创建一个更加集中的生态系统来提高第三方开源库的可发现性和参与度。

    2016最新CocoaPods安装和错误解决方案

    CocoaPods是一个负责管理iOS项目中第三方开源库的工具,开发iOS项目不可避免地要使用第三方开源库。接下来通过本文给大家介绍2016最新CocoaPods安装和错误解决方案,需要的的朋友参考下吧

    史上最详细的CocoaPods安装教程(图文)

    虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用. 前言 在iOS项目中使用第三方类库可以...第一,在引入第三方库时它可以自动为我们完成

    simplenote-macos:适用于macOS的Simplenote

    由CocoaPods管理的第三方库和资源将通过上面的rake dependencies命令安装。 为什么不使用CocoaPods获取Sparkle 在撰写本文时,通过CocoaPods分发的Sparkle版本不支持沙盒功能,这是我们在Simplenote macOS中所重视...

    TYBlurImage高斯模糊的第三方开源库

    作者luckytianyiyan,...介绍:一个高斯模糊的第三方开源库,可使用CocoaPods管理。 它不仅提供了 UIImage 添加高斯模糊效果的工具方法。 并且以分类拓展的方式提供 UIImageView 高斯模糊渐变动画,使用简单方便。

Global site tag (gtag.js) - Google Analytics