cocoapod搭建私有库超级详细教程

作者: IAM121 | 来源:发表于2017-04-29 23:00 被阅读1836次

    创建cocopod的步骤

    1.创建一个spec Repo的私有远程仓库 和 一个存放pod所需的项目工程文件的远程仓库
    2.创建spec Repo
    3.创建pod的所需的项目工程文件,并上传到远程私有仓库
    4.向私有的spec Repo远程仓库中提交podspec
    5.使用自己创建的私有pod库

    1.创建2个远程仓库

    创建XHMSpec远程仓库,用来存放本地spec。
    创建XHMPodProject远程仓库,用来存放项目工程文件。

    2.创建spec Repo

    前往文件夹 ~/.cocoapods/repos
    打开终端,在终端切换到当前目录下,然后进行pod repo add操作
    在终端输入:
    pod repo add XHMSpec https://git.oschina.net/xhmspec.git(1中创建的XHMSpec远程仓库的地址)

    Snip20170429_8.png

    3.创建pod的所需的项目工程文件

    3.1创建本地pod的所需的项目工程文件

    cd 切换到一个目录下(我是在桌面上的projects目录下),然后执行pod lib create XHMPodLib如图:

    Snip20170429_12.png

    然后进到到XHMPodLib里面找到Classes中的"ReplaceMe.m"文件删除,然后将自己所需要的文件放到这里目录下,如图

    Snip20170429_13.png

    接下来最重要的一步,也是很容易忽略的一步,不然提交后检查会出现很多问题。
    cd 到Example文件下,然后pod install下,更新Example项目的pod。如图项目中的podspec文件,更改spec。

    Snip20170429_14.png

    打开example中的项目,找到

    Snip20170429_15.png

    对项目中的podspec文件进行如图中的修改

    Snip20170429_16.png Snip20170429_19.png

    修改完成后,cd 到XHMPodLib目录下,然后验证podspec文件
    pod lib lint yourPodName.podspec //进行本地验证文件有效性。

    Snip20170429_20.png

    3.2本地项目文件上传到远程库中

    使用git remote add origin 远程仓库地址 // 将本地项目与远程仓库关联

    Snip20170429_21.png

    push到远程的时候出现这种问题,于是就先pull ,于是就出现了图中这种经典的问题了

    Snip20170429_22.png

    重新输入如下命令:
    git pull origin master --allow-unrelated-histories

    Snip20170429_24.png

    解决一下冲突就可以了。解决冲突后上传到远程仓库。

    Snip20170429_25.png

    这样远程仓库就有我们本地的项目了

    Snip20170429_26.png

    pod spec lint yourPodName.podspec //命令进行本地和远程验证文件有效性。
    注意:
    如果私有库中依赖私有库,则验证podspec文件的时候需要加上–sources参数,否则会出现找不到你依赖的私有库。

    Snip20170429_41.png Snip20170429_27.png

    显示我们没有远程仓库打标签,这里需要重点注意的是,我们给打的标签值要与podspec文件中的版本号一致。

    Snip20170429_28.png

    打标签的步骤如图:

    Snip20170429_30.png

    再次使用pod spec lint yourPodName.podspec //命令进行本地和远程验证文件有效性。

    Snip20170429_31.png

    4.向私有的spec Repo远程仓库中提交podspec

    使用 pod repo push yourRepoName yourPodName.podspec 命令把私有库添加到私有repo中
    注意的是:仍然在本项目的目录路径下进行操作:

    Snip20170429_32.png

    前往文件夹 ~/.cocoapods/repos去查看XHMSpec目录下的文件如下:

    Snip20170429_33.png

    pod repo // 查看第三方框架仓库源

    Snip20170429_34.png

    然后使用 pod search XHMPodLib 就可以搜索出来了。


    Snip20170429_35.png

    到此,创建私有库算创建成功了。

    5.使用自己创建的私有pod库

    使用source 指定


    Snip20170429_36.png

    然后跳转到项目目录然后 pod install一下

    Snip20170429_38.png

    相关文章

      网友评论

      • 时间shiwo9:你好,依赖自己的私有库,dependency怎么写?
      • 呵呵哈哈嘿嘿:你好,依赖多个库,dependency该怎么写?
      • NieFeng1024:ERROR | [iOS] file patterns: The `source_files` pattern did not match any file.
        这个问题是 source_file 目录有问题,但是应该是怎么改呢?求指点
        Remantou:你的pod的Classes文件夹或者子文件夹下面有文件吗?
      • 日落夕阳黄昏:pod spec lib 报告警告[!] The spec did not pass validation, due to 3 warnings (but you can use `--allow-warnings` to ignore them).

        /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/command/spec/lint.rb:87:in `run'
        /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
        /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/command.rb:52:in `run'
        /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/bin/pod:55:in `<top (required)>'
        /usr/local/bin/pod:23:in `load'
        /usr/local/bin/pod:23:in `<main>'
        怎样解决啊
        IAM121:在你的命令行后面加--allow-warnings 去忽略3个警告
      • ValienZh:创建pod的所需的项目工程文件. 如果依赖的第三方私有的静态库(.a和.framework)与动态库(.framework)例如腾讯云IMSDK,应该如何配置.

      本文标题:cocoapod搭建私有库超级详细教程

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