提交Framework到CocoaPods

CocoaPods集成方式的添加

1.什么是CocoaPods

CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。该项目开始于2011年8月12日,在这两年多的时间里,它持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。

2.CocoaPods的原理

CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。

3.CocoaPods的安装及使用

3.1 设置ruby的软件源

gem sources -l #(查看当前ruby的源)

gem sources --remove https://rubygems.org/ #(移除当前ruby的源)

gem sources -a https://ruby.taobao.org/ #(设置当前ruby的新源)

gem sources -l #(再次查看当前ruby的源)

输出:

*** CURRENT SOURCES ***

https://ruby.taobao.org/

ok,ruby的软件源设置已完成。

3.2 设置gem为最新版本

sudo gem update --system

成功提示:

Latest version currently installed. Aborting.

3.3 执行安装CocoaPods命令

查看cocoapods的版本号

pod - -version

如果CocoaPods版本号小于0.33需要更新版本

sudo gem install  cocoapods

3.4 Cocoapods的使用

  • 进入工程目录
$ cd Documents/你的工程
  • 建立或打开Podfile(配置文件)
$ vim podfile
  • 进入vim编辑器编辑配置文件

友情提示:键盘输入 i,进入编辑模式

platform :ios, '7.0'
target '你的项目名称' do

pod 'AFNetworking' (你所需要的三方库)
...

end

  • 退出vim编辑器
    Esc输入:wq回车。保存并退出。(如果不想保存输入:q

  • 执行下载

pod install

4.发布framework到CocoaPods

网上很多发布开源项目,可以搜索一下。可能有些商业原因不可以开源某项目的时候,就需要使用资源包的方式了。这里主要写一下framework包的相关上传方法,。拿MyFirstFramework.framework为例。(个人还是支持开源,有知识大家一起学)

4.1 创建GitHub仓库

  • 在GitHub上新建仓库(这里不细说了,自行百度)

  • 创建成功后 clone远程仓库到本地

$ cd Documents     //你希望存放的地址

$ git clone https: //仓库地址

4.2创建Trunk账户

  • 注册Trunk账户
pod trunk register 邮箱地址 ‘用户名’ –verbose
  • 注册命令执行完之后,对应的邮箱地址会收到一封邮件,去邮箱确认注册。

  • 查看自己的注册信息

$ pod trunk me

4.3创建.podspec文件

  • .podspec文件的作用是为了让CocoaPods搜索引擎知道该代码的作者、版本号、概要、描述、源代码地址、部署版本、依赖的框架等描述信息。

  • 创建.podspec文件

pod spec create MyFirstFramework
  • 双击打开.podspec文件进行描述信息编辑
Pod::Spec.new do |s|

#名称
s.name         = 'MyFirstFramework'

#版本号
s.version      = '1.0.0'

#许可证
s.license      = { :type => 'MIT' } 

#项目主页地址 
s.homepage     = 'https://github.com/..../MyFirstFramework'    

#作者
s.authors      = { 'Andrew' => '290649927@qq.com' }

#简介
s.summary      = 'A delightful iOS framework.'  

#项目的地址 (注意这里的tag位置,可以自己写也可以直接用s.version,但是与s.version一定要统一)
s.source       = { :git => 'https://github.com/.../MyFirstFramework.git', :tag => s.version }

#支持最小系统版本
s.platform     = :ios, '7.0'

#需要包含的源文件 
s.source_files = 'MyFirstFramework/MyFirstFramework.framework/Headers/*.{h}'

#你的SDK路径
s.vendored_frameworks = 'MyFirstFramework/MyFirstFramework.framework'

#SDK头文件路径
s.public_header_files = 'MyFirstFramework/MyFirstFramework.framework/Headers/MyFirstFramework.h'

#依赖库
s.libraries    = 'sqlite3','icucore','z'

#依赖库
s.frameworks   = 'UIKit','Foundation'

end

  • 保存

4.4放置你的framework包到本地仓库中

注意层级位置

路径.png

4.5提交至GitHub

最好编辑一下你的README.md。使用方法啥的...

$ git add --all

$ git commit -m'updata framework'

$ git push

$ git tag -1.0.0

$ git push origin --tags

4.6 上传CocoaPods

  • 验证.podspec文件是否合法
pod spec lint MyFirstFramework.podspec

过程中遇到的问题就不讲述了,根据错误信息百度一下。

  • 提交.podspec文件到Trunk中
pod trunk push MyFirstFramework.podspec
  • 成功提示
success
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容