在CocoaPods上制作自己的库
来源:互联网 发布:淘宝怎么选关键词 编辑:程序博客网 时间:2024/05/17 14:26
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
- 在CocoaPods上制作自己的库
- 在Cocoapods上发布自己的代码
- 制作自己的CocoaPods Spec
- 在CocoaPods上创建自己iOS程序的依赖管理
- iOS---如何在CocoaPods上发布自己的项目
- 三方依赖库在Cocoapods上的制作流程2015年版
- 制作一个属于自己的CocoaPods文件!
- 在python上使用wordcloud制作自己的词云
- 在CocoaPods构建自己的git版本管理库
- 发布自己的库到Cocoapods上, Pods install 自己的库
- 配置自己的CocoaPods库
- 配置自己的CocoaPods库
- 配置自己的CocoaPods库
- 配置自己的CocoaPods库
- 创建自己的Cocoapods库
- 配置自己的CocoaPods库
- 创建自己的CocoaPods库
- 发布自己的CocoaPods库
- java文档注释笔记
- Jersey框架的统一异常处理
- SET ANSI_WARNINGS OFF 干了点儿啥?
- POJ 2355 Railway tickets
- linux grep命令详解
- 在CocoaPods上制作自己的库
- Torch7入门续集(二)---- 更好的使用Math函数
- RecyclerView使用详解(二)
- 获得汉字拼音首字母的工具类
- Sliding Window POJ
- leetcode 28. Implement strStr() KMP 算法
- Java中输入参数的方式
- 谈Fuzz技术挖掘Android漏洞
- 用决策树模型求解回归问题(regression tree)