美文网首页
iOS 制作自己的cocopods私有库

iOS 制作自己的cocopods私有库

作者: TigerManBoy | 来源:发表于2019-02-28 14:40 被阅读0次

    在iOS开发中,越来越多人使用模块化开发了,使用模块化开发的前提是学会制作私有库,以方便项目中导入使用,之前制作过几次cocopods私有库,中间出很多问题,也都一一解决了,在这里记录一下制作过程 ,以及遇到的坑。

    1.在本地合适的地方创建pod库,比如说Desktop

    1.在终端中移动到Desktop
    wangpengdeiMac:~ wangpeng$ cd desktop
    
    2.创建pod库, 命令是pod lib create [私有库库名]
    wangpengdeiMac:desktop wangpeng$ pod lib create MyPodsTest
    

    点击回车之后,终端会需要你回答几个问题:

    1、选择使用的平台
    What platform do you want to use?? [ iOS / macOS ]
     > ios
    2、选择使用的语言
    What language do you want to use?? [ Swift / ObjC ]
     > objc
    3、是否创建一个demo工程用来测试,推荐yes
    Would you like to include a demo application with your library? [ Yes / No ]
     > yes
    4、测试框架选择哪一个
    Which testing frameworks will you use? [ Specta / Kiwi / None ]
     > none
    5、要不要做视图测试
    Would you like to do view based testing? [ Yes / No ]
     > no
    6、类名前缀
    What is your class prefix?
     > LT
    
    创建pods项目.png

    显示如上图,则表示创建成功,创建成功之后,会自动打开项目。

    2.安装cocoapods项目

    1、移动到创建的pod库下面的Example项目下
    wangpengdeiMac:desktop wangpeng$ cd /Users/wangpeng/Desktop/MyPodsTest/Example 
    2、安装cocoapods项目
    wangpengdeiMac:Example wangpeng$ pod install --no-repo-update
    
    安装cocoapods项目.png

    3.打开项目,把你的私有库的.h和.m文件拷贝到pods项目下的classes里面

    屏幕快照 2019-02-28 下午1.22.23.png

    将图片或者bundle文件放到Assets下面

    屏幕快照 2019-02-28 下午1.24.05.png

    4.编辑cocoapods配置文件(后缀名为.podspec),在pod项目下

    屏幕快照 2019-02-28 下午1.27.17.png
    //项目名字
    s.name             = 'MyPodsTest'
    //项目版本号,一般习惯使用0.0.1开始
    s.version          = '0.1.0'
    //项目简介
    s.summary          = 'A short description of MyPodsTest.'
    //项目详细描述
    s.description      = <<-DESC
    TODO: Add long description of the pod here.
                           DESC
    //项目主页地址,随便写个网站就行,最好写本项目的地址,可以在github,gitlab或者码云上创建一个项目,关联本项目
    s.homepage         = 'https://github.com/wubingjia/mypodstest'
    //许可证
    s.license          = { :type => 'MIT', :file => 'LICENSE' }
    //作者
    s.author           = { 'wubingjia' => 'my_badboy521@163.com' }
    //项目的地址,需要填一个git地址的私有库,码云的和gitlab的免费,github的收费,创建项目之后,将项目地址拷贝复制
    s.source           = { :git => 'https://github.com/wubingjia/mypodstest.git', :tag => s.version.to_s }
    //版本
    s.ios.deployment_target = '8.0'
    //源码文件的配置路径
    s.source_files = 'MyPodsTest/Classes/**/*'
    //资源文件的配置路径(图片等..)---静态库的配置方法
    s.resource_bundles = {
       'MyPodsTest' => ['MyPodsTest/Assets/*']
      }
    //资源文件的配置路径---动态库的配置方法
    s.resources = 'MyPodsTest/Assets/*'
    //源码头文件的配置路径
    s.public_header_files = 'MyPodsTest/Classes/**/*.h'
    //系统框架的依赖库
    s.frameworks = 'UIKit', 'MapKit'
    //私有库依赖的第三方库
    s.dependency 'AFNetworking', '2.5.4'
    s.dependency 'YYImage'
    s.dependency 'LYEmptyView'
    

    一切配置完成之后,执行pod update --no-repo-update更新一下

    wangpengdeiMac:Example wangpeng$ pod update --no-repo-update
    
    屏幕快照 2019-02-28 下午2.06.32.png

    5.之后打开demo项目,看一下能不能运行起来,有错的话改错,直到项目可以运行起来,检查自己的私有库是否可以使用,如果可以,说明已经完成。接下来要进行本地验证

    //进入我们的pod库中
    wangpengdeiMac:~ wangpeng$ cd /Users/wangpeng/Desktop/MyPodsTest 
    //执行本地验证的命令
    wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint
    
    这里说明一下,本地验证的命令有几个推荐的:
    1、本地验证
    wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint
    2、本地验证+打印详细信息
    wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint --verbose
    3、本地验证+允许使用静态库
    wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint --use-libraries
    4、本地验证+允许警告
    wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint --allow-warnings
    5、本地验证+快速验证
    wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint --quick
    
    屏幕快照 2019-02-28 下午2.18.54.png

    出现上面这种情况,说明验证通过。

    6、发布项目

    1、添加远程地址,即在github,gitlab或者码云上创建的私有库的地址
    git remote add origin http://gitlab.guxiansheng.cn/dexun/mypodstest.git
    2、添加文件
    git add .
    3、提交本地,并添加描述
    git commit -m "第一次提交"
    4、拉取远程的代码
    git pull origin maste
    # --allow-unrelated-histories
    # git pull origin maste会失败 ,提示:fatal: refusing to merge unrelated histories
    # 原因是远程仓库origin上的分支master和本地分支master被Git认为是不同的仓库,所以不能直接合并,需要添加 --allow-unrelated-histories
    5、推送本地代码到远程
    git push origin master
    6、打tag
    git tag 0.0.1
    7、推送tag到远程
    git push origin 0.0.1
    

    7、创建Spec的管理库

    创建方式和上面在github,gitlab和码云上创建私有库的方式一样
    然后再本地执行Spec创建命令

    创建Spec
    pod repo add MyPodsTestSpecs http://gitlab.guxiansheng.cn/dexun/MyPodsTestSpecs.git
    

    接下来就可以进行发布了

    将自己私有库添加的Spec的管理库中
    pod repo push MyPodsTestSpecs MyPodsTest.podspec
    

    8、检验私有库的发布和使用

    在项目的Podfile中添加

    pod 'MyPodsTest',:git => 'http://gitlab.guxiansheng.cn/dexun/mypodstest.git'
    

    导入成功就可以使用了。

    相关文章

      网友评论

          本文标题:iOS 制作自己的cocopods私有库

          本文链接:https://www.haomeiwen.com/subject/jfjayqtx.html