pod静态库的创建(共享源码并上传pod公共库)

上面一篇文章讲了怎样创建我们自己的私有仓库,并且不公开自己的源码,今天我们来讲讲,公开源码的静态库创建方式,并且我们将还要上传到pod公共库

准备工作

首先,我们到GitHub创建一个仓库,用来作我们的共享仓库

然后clone到本地,这里我创建的是一个叫做PPSPublicStaticLibrary的仓库,并且我已经clone到本地

创建工程

和我们之前创建静态仓库一样,通过pod官方提供的模板创建一个静态仓库,单独建一个文件夹,将这个静态仓库先放在这个文件夹中

具体怎么创建,我就不讲了,可以看我之前的创建私有仓库的那篇文章,使用命令创建

1
pod lib create

工程创建好之后,工程目录是这样的

接下来,我们将工程中的一些文件拷贝到我们之前clone下来的文件夹内

将选中的文件拷贝到我们clone下来的PPSPublicStaticLibrary文件夹

podspec

同样的我们还是编写podspec文件,首先我们先将example工程install一下,这个通过Pod install一下,我就不详细讲了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Pod::Spec.new do |s|
s.name = 'PPSPublicStaticLibrary'
s.version = '0.1.0'
s.summary = 'A example to show how to create a public static library'

s.description = <<-DESC
演示了如何来创建一个pod共享库,并且上传到pod公共仓库上,这个仓库没有其他什么代码,完全作演示使用.
Demonstrates how to create a pod shared library and upload it to the pod public repository, which does not have any other code to be used for demonstration purposes.
DESC

s.homepage = 'https://github.com/yangqian111/PPSPublicStaticLibrary'

s.license = { :type => 'MIT', :file => 'LICENSE' }

s.author = { 'ppsheep' => 'ppsheep.qian@gmail.com' }

s.source = { :git => 'https://github.com/yangqian111/PPSPublicStaticLibrary.git', :tag => s.version.to_s }


s.ios.deployment_target = '8.0'

s.source_files = 'PPSPublicStaticLibrary/Classes/**/*'

s.public_header_files = 'PPSPublicStaticLibrary/Classes/**/*.h'

end

上面是podspec文件,接下来,我们同样来创建一个测试的文件,方法,在classes下,新建一个cocoa,PPSPublicTest

然后,我们先在测试工程中,测试一下,工程是否能够跑通,修改了pod文件,不要忘了install一下

1
2
3
4
5
6
7
8
9
10
11
12
#import <PPSPublicStaticLibrary/PPSPublicTest.h>

@implementation PPSAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
PPSPublicTest *test = [[PPSPublicTest alloc] init];
[test publicTest];
return YES;
}

@end

经测试,能够正确运行,接下来,我们就需要提交代码了

提交代码之前,我们需要做几件事,首先使用pod lib lint 检查一下当前的库是否有错误,进入到工程目录

1
pod lib lint

接下来,将代码push到我们的git仓库

1
2
git commit -m "init message"
git push

还需要对当前的静态库打一个tag,相当于release一个版本吧

我们打了一个0.1.0的tag

这样,我们就将本地需要做的工作做完了,

然后将我们的tag push到仓库

1
git push --tag

这样,我们已经能够在我们的仓库中看到我们的代码,和创建的tag

提交到pod仓库

注册pod账号

如果之前没有提交过pod仓库,那么需要注册一个账号

1
pod trunk register 邮箱地址 '用户名' --verbose

在邮箱中,会收到一封邮件,激活,然后回到我们的命令行

1
pod trunk me

就能够看到我们的详细信息

然后我们执行

1
pod trunk push PPSPublicStaticLibrary.podspec

这样,我们的PPSPublicStaticLibrary就已经发布成功了

我们去搜索一下试试看

能够搜到,成功

在其他工程中,集成通过

1
pod 'PPSPublicStaticLibrary', '~> 0.1.0'

源工程地址:

https://github.com/yangqian111/PPSPublicStaticLibrary

欢迎关注微博:ppsheep_Qian

http://weibo.com/ppsheep

欢迎关注公众号