IOS创建CocoaPods私有库

作者: BetterG | 来源:发表于2018-02-18 15:44 被阅读206次

    IOS创建CocoaPods私有库

    最近领导说要把项目模块化、组件化,网上看了一大推资料,自己瞎搞了一天,终于告一段落。

    IOS创建私有库步骤

    1、在终端上移动到你想创建pod库工程的路径,并执行pod库的创建。命令如下

    BetterdeMacBook-Pro:~ better$ cd desktop
    BetterdeMacBook-Pro:desktop better$ pod lib create PrivateHelloWorld
    

    回车之后,终端会询问你几个哲学的问题

    # 选择编程语言
    What language do you want to use?? [ Swift / ObjC ]
    > Objc  
    
    # 在你的项目中是否创建一个demo工程,为了方便测试,我选择了Yes
    Would you like to include a demo application with your library? [ Yes / No ]
     > Yes  
    
    # 测试框架选择哪一个
    Which testing frameworks will you use? [ Specta / Kiwi / None ]
     > None
    
    #要不要做视图测试
    Would you like to do view based testing? [ Yes / No ]
     > Yes
    
    # 类前缀名
    What is your class prefix?
     > BY
    
    安装Pod成功.png

    恭喜你,Pod私有库创建成功。一般来说创建成功会自动打开项目

    2、安装CocoaPods项目
    找到刚才创建的PrivateHelloWorld文件夹,点击入去,里面的目录如下


    image.png
    # 移到Example目录下
    BetterdeMacBook-Pro:desktop better$ cd /Users/better/Desktop/PrivateHelloWorld/Example 
    # 安装CocoaPods项目
    BetterdeMacBook-Pro:Example better$ pod install --no-repo-update
    

    安装过程如下图


    image.png

    吓了我一跳,3行黄色字英文,大概意思就是Example文件夹里面的Podfile文件没有指定的平台和版本号,默认用ios,版本为9.3版本,建议你balabalabala.

    不管了先进去Example文件夹点击后缀为xcworkspace的文件打开项目,运行下是否成功。 OK成功了

    3、添加你要添加代码文件(复制粘贴)


    image.png

    我这里放了PrintHelloWorld文件

    4、编辑CocoaPods的配置文件(后缀名为podspec),打开PrintHelloWorld文件夹就可以看到
    可以有很多种编辑方式编辑这个文件,如Xcode、文本编辑器、Sublime Text系列、Atom
    我是用文本编辑器打开,难看是难看点,但胜在够方便


    podspec文件.png

    s.version我习惯是0.0.1开始
    s.summary需要改改,不然待会提交会报错
    s.homepage这里随便写个网站都行,建议写项目的首页,但一定要改,不然默认的会报错,因为没有默认的网址

    s.source需要填一个git地址的私有库,github收费的,为了省钱,找了码云,对,码云(百度就能搜)


    码云创建私有库.png
    创建成功.png

    复制私有库地址,在.podspec文件内的s.source替换地址

    image.png

    配置完成了

    再次移到我们的Example文件,pod更新一下

    BetterdeMacBook-Pro:Example better$ pod update --no-repo-update
    
    image.png

    打开项目,看看是否成功了


    image.png

    嘿,添加进来了那就试试PrintHelloWorld可不可以调用

    5、添加PrintHelloWorld,运行测试
    打开项目,在BYViewController.m里面导入PrintHelloWorld.h文件


    image.png

    竟然报警了,为什么没有提示的,上网查了下,说直接把要导入的类写进去就好了,试了下还真行,如果有同学知道的话告诉下为什么。


    image.png
    看到信息了,证明我们本地运行代码没问题,人比较懒,没做界面,直接写了句打印,见谅。现在需要将项目发布到git,并添加到pod。

    6、验证pod配置文件
    为了保证项目正确性,pod文件配置没问题,在提交之前,我们需要验证一下

    用终端移到我们的项目路径

    BetterdeMacBook-Pro:~ better$ cd /Users/better/Desktop/PrivateHelloWorld 
    
    image.png

    到这里,我们已经完成源码导入、验证项目是否能运行、pod配置文件本地验证了

    7、项目发布,tag 0.0.1
    终端移到该项目文件下执行git的相关命令

    # 添加远程地址,即上面创建码云项目的地址
    BetterdeMacBook-Pro:PrivateHelloWorld better$ git remote add origin https://gitee.com/Better_Y/PrintHelloWorld.git
    # 添加文件
    BetterdeMacBook-Pro:PrivateHelloWorld better$ git add .
    # 提交本地,并写描述
    BetterdeMacBook-Pro:PrivateHelloWorld better$ git commit -a -m "第一次提交 版本为0.0.1"
    # --allow-unrelated-histories
    # git pull origin maste会失败 ,提示:fatal: refusing to merge unrelated histories
    # 原因是远程仓库origin上的分支master和本地分支master被Git认为是不同的仓库,所以不能直接合并,需要添加 --allow-unrelated-histories
    
    BetterdeMacBook-Pro:PrivateHelloWorld better$ git pull origin master --allow-unrelated-histories
    # 推送到码云的PrintHelloWolrd项目的master分支上
    BetterdeMacBook-Pro:PrivateHelloWorld better$ git push origin master
    # 提交版本号
    BetterdeMacBook-Pro:PrivateHelloWorld better$ git tag 0.0.1
    # push到远程分支
    BetterdeMacBook-Pro:PrivateHelloWorld better$ git push origin 0.0.1
    
    image.png

    留心的小伙伴可能会看到,有一个已解决冲突的文件README.md,是上面使用git pull origin master --allow-unrelated-histories命令后报的冲突错误,你可以在创建项目时删掉这个文件,但我个人建议是解决冲突,再按上面步骤再来一遍,从 # 添加文件开始

    8、创建Sepc管理库
    创建步骤跟上面码云创建的git私有库同理

    在终端执行Specs创建命令

    BetterdeMacBook-Pro:PrivateHelloWorld better$ pod repo add PrintSpecs https://gitee.com/Better_Y/PrintSpecs.git
    

    现在,我们可以直接发布了

    # PrintSpecs是刚才上面添加的管理库名字 
    # PrivateHelloWorld.podspec是PrintHelloWorld项目里面后缀为podspec的文件名
    BetterdeMacBook-Pro:PrivateHelloWorld better$ pod repo push PrintSpecs PrivateHelloWorld.podspec
    

    发布成功后,我们可以去码云看看PrivateSpecs的git项目有没有提交成功


    spec发布成功后的git.png

    查看我们本地的Specs库:
    直接Findle ->右键 -> 前往文件夹 -> 输入:~/.cocoapods/repos ->点击前往


    image.png
    本地Spec管理库.png

    到这里,我们的私有库发布已经全部完成了

    9、检验私有库发布

    新建privateDemo项目,创建Podfile文件并安装
    Podfile代码如下

    platform :ios,'8.0'
    target 'privateDemo' do
    pod 'PrintHelloWorld',:git => 'https://gitee.com/Better_Y/PrintHelloWorld.git'
    end
    

    打开终端并执行pod安装指令:

    BetterdeMacBook-Pro:~ better$ cd /Users/better/Desktop/privateDemo 
    BetterdeMacBook-Pro:privateDemo better$ pod install --no-repo-update
    

    成功结果如下


    安装pod.png

    我们打开PrivateDemo项目目录看看


    pod目录.png

    我们在Appdelegate.m文件试试能否调用


    结果.png
    到这里,验证我们的私有库发布就完满结束了!!

    相关文章

      网友评论

        本文标题:IOS创建CocoaPods私有库

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