您的位置:首页 > 其它

在CocoaPods上制作自己的库

2017-03-08 12:30 148 查看
CocoaPads作为管理第三方库的神器,有时候自己写的好的库也希望,放在上面去,不敢说给别人用,让别人喜欢,最起码自己熟悉,下次自己倒进来就能用,也有也有人喜欢把那些库打成.a的包,这样也可以。只要你喜欢随便喽。我是觉得打包成.a不太方便版本管理,不太方便升级维护。

网上有很多博客讲解怎么制作库的,每篇文章各有侧重点,自己制作一下就知道各种各样的坑。记录下这些坑。

一 制作第一个CocoaPods库

原理:CocoaPods大概相当一个服务器,管理各种ios和Swift的第三方库的服务器。使用pod导入别人的代码像AFNetworking,就是去服务器上下载。

假设你的项目是放在github上面托管的,先给项目打上一个tag,其实就是要制作的库的代码的稳定的运行版本,这个版本号,就是告诉别人在用pod导入的时候倒入那个版本。会在.podspec 中配置。

创建配置文件-.podspec 一般在和.git 同级目录下创建配置文件,下面的库名就是到时候发布到Cocoapod服务器上的名字,使用pod search 能找得到的。这个名字我曾经试图修改过,没成功,所以填写要慎重。

pod spec create “库名”

3.创建好之后,目录下会多一个 库名.podspec的配置文件

Pod::Spec.new do |s|

s.name = “库名”

s.version = “1.0.0” 版本

s.summary = “空视图处理”

s.description = “A UIView category for showing empty datasets whenever the view has no content to display.” 库的介绍

s.homepage = “https://github.com/lupeihong/Test” 库的远程地址

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

s.author = { “lupeihong” => “123456@qq.com” }

作者的名字,库成功发布后,cocoapod官方会发邮件给你

s.platform = :ios, “6.0” 库运行的平台

# When using multiple platforms

# s.ios.deployment_target = “5.0”

不能乱配,支持这个平台,就别写这个,否则检测配置文件是会报错的。

s.source = { :git => “https://github.com/lupeihong/Test.git“, :tag => “v#{s.version}” } 源代码远程仓库地址

s.source_files = “Classes”, “Test/UIView+Test.{h,m}”

库文件目录,将来这个目录下的文件会被作为第三方库文件导入工程,bundle文件不导入,配置了也白搭。

资源文件要通过这个属性配置。注意路径不能写错了。

s.framework = “UIKit” 运行这个库依赖的系统库

# s.frameworks = “SomeFramework”, “AnotherFramework”

# s.library = “iconv”

# s.libraries = “iconv”, “xml2”

s.requires_arc = true

# s.xcconfig = { “HEADER_SEARCH_PATHS” => “$(SDKROOT)/usr/include/libxml2” }

# s.dependency “JSONKit”, “~> 1.4”

依赖的其它的第三方库,如果填写这个,再导入你制作的库的同时会导入依赖的库。

end

检测配置的文件是否有错

pod spec lint MDPodSpec.podspec –allow-warnings

我遇到的问题有

1. 配置默认swift的版本:
echo "2.3" > .swift-version
.

2. 依赖第三方库不支持现在所配置运行的系统。如依赖第三方库本不支持ox10.7 你的库依赖第三方库,你配这个就有问题了。

3. 若是代码中有警告在监测是加上 –allow-warnings 就行了。

4. 报错[-Werror,-Wnon-modular-include-in-framework-module] 在检测命令后面加上–use-libraries 即可

5.监测通过就后,告诉你:’库名’.podspec passed validation. 接着就可以把库发布到,CocoaPods的服务器上

pod trunk push ‘库名’.podspec

若代码中有警告需在后面加上 –allow-warnings

6. 发布成功后



二 更新CocoaPods中的版本

更新第一步先给远程仓库的代码打tag

修改.podspec 的配置文件

检测配置文件(上面第4步)

发布盖版本到Cocoapod服务器(上面第5步)

三 pod库中添加资源文件

这个在配置添配置文件中提到,一定要在s.resources 这个属性中配置,重要的事情再说一遍,也可参考http://www.tuicool.com/articles/73aUfmq

参考文章

- http://blog.csdn.net/bluefish89/article/details/48030941

- http://www.tuicool.com/articles/73aUfmq

- http://www.jianshu.com/p/4c08be08731e
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息