在工作中,你可能开发了一个很好的组件或者一个很好的框架,想和广大程序员分享,分享到github并且支持cocopod是一个不错的选择,今天就来写一下自己制作podspec的体会。
首先,现制作一个iOS frame,打开xcode
新建一个cocoa frame
我在这里演示的frame命名为LYCDisplayCalculator
点击next ,点击create 制作完成界面如下
使用快捷键 command+N 新建文件(你也可以将已经写好的.h .m文件拖拽到文件目录下)
我在这里新建了一个继承于NSObject的LYCCalculator类,下一步,选择你要向外界暴露的.h文件
下一步在工程的默认头文件里面添加向外界暴露的.h文件,这样别人引用你的框架就像引用系统框架一样
我在这里简单的写了一个两个数相加的例子来展示
在LYCCalculator.h里面
+(NSInteger)numberOne:(NSInteger)numberOne AddToNumberTwo:(NSInteger)numberTwo;
在LYCCalculator.m里面
+(NSInteger)numberOne:(NSInteger)numberOne AddToNumberTwo:(NSInteger)numberTwo{
return numberOne+numberTwo;
}
编译一下,显示buildSuccess之后,第一大步就算完成了, 现在要把当前框架关闭。
使用快捷键 command+shift +N,新建工程,选择Application--->Single View Application
下一步,来使用刚才制作的框架
选择 LYCCalculatorTest Project 点击鼠标右键 选择 addFilesTo"" 在加入到工程之前,一定要保证,你的框架不是编辑状态
这样,你的框架,就作为子工程添加到当前的工程中
下一步,为工程添加依赖
下一步,在ViewController.m文件中引用头文件
#import "ViewController.h"
#import<LYCDisplayCalculator/LYCCalculator.h>
这样就可以在ViewController.m,就可以使用LYCCalculator.h里面的方法了
这样算是完成了一半的工程量了吧,下一步要做的就是使你的frame支持cocoapod,编写podspec;
首先,现将LYCDisplayCalculator在LYCCalculatorTest中的引用去除,鼠标右击LYCDisplayCalculator ,点击 Delete ,点击Remove Reference (不要选择moveToTrash,我们要保留该frame)
下一步,关闭工程,去github创建一个仓库
返回终端创建一个仓库
mkdir repo
cd repo
下一步 clone github上的仓库地址 到本地
git clone https://github.com/DevaLee/LYCDisplayCalculator.git
将LYCDisplayCalculator文件拷贝到repo/LYCDisplayCalculator文件夹下
下一步,进入到 LYCDisplayCalculator文件夹 ,打开终端
cd /Users/***/****/****/LYCDisplayCalculator
创造pod spec
pod spec create LYCDisplayCalculator
编辑podspec 文件
vim LYCDisplayCalculator.podspec
开始进入编辑状态
i
为pod spec添加描述
s.name = "LYCDisplayCalculator"
s.version = "1.0.0"
s.summary = "A Caluator, it can add number to another num"
s.homepage = "http://www.jianshu.com"
s.license = "MIT"
s.author = { "yuchen.li" => "yuchen.li@mxrcorp.com" }
s.platform = :ios, "7.0"
s.source_files = "LYCDisplayCalculator", "LYCDisplayCalculator/**/*.{h,m}"
s.source = { :git => "https://github.com/DevaLee/LYCDisplayCalculator.git", :tag => "1.0.0" }
s.requires_arc = true
退出编辑并保存
ESC ->: ->wq
把文件push到github上面
cd /Users/***/repo/LYCDisplayCalculator
git add .
git commit -m "initial commmit"
git push
给仓库打一个tag值,来匹配podspec里面的tag值
git tag 1.0.0
git push --tags
验证pod spec是否符合标准
pod spec lint
下一步,要做的就是将podspec发布到cocoa pods上面
如果,你需要先注册一个cocoapods的账号
pod trunk register xxxxxx@qq.com
注册账号的时候,会给你的邮箱发验证,注册成功之后,使用如下命令,查看注册信息
pod trunk me
得到个人信息之后,就可以将podspec push给cocoapods
pod trunk push /Users/***/repo/LYCDisplayCalculator/LYCDisplayCalculator.podspec
看到如下数字,即为push 成功
使用pod查找该框架
pod search LYCDisplayCalculator
新建一个工程(LYCPODTest)就可以直接使用啦
cd /Users/***/Desktop/Library/LYCPODTest
pod init
vim podfile
编辑pod file
# platform :ios, '9.0'
target 'LYCPODTest' do
pod 'LYCDisplayCalculator','~>1.0.0'
end
退出并保存
ESC -> : ->wq
下一步
pod install
重新打开workspace
这样就可以在ViewController.m里面就可以直接导入
#import <LYCCalculator.h>
这样就大功告成了!!!!!!!!!!!!!!!!!!!!!!!!!!