在CocoaPods上制作自己的库

    xiaoxiao2021-03-25  112

    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

    转载请注明原文地址: https://ju.6miu.com/read-1453.html

    最新回复(0)