美文网首页
Cocoapods搭建私有库

Cocoapods搭建私有库

作者: 纳兰怮翌 | 来源:发表于2022-08-11 16:31 被阅读0次

    在阅读这篇文章之前请自行阅读https://www.jianshu.com/p/11e343fbb177这篇文章,知道最基础的git和pod的使用基础
    1、创建spec文件

    cd 当前目录
    pod spec create testLib
    

    创建成功的打印

    WeChate0d7a93202246ce6322f1684fa5bf08b.png
    打开所在目录会发现有一个testLib.podspec这样的文件
    WeChat11ac9562f7206a3dc8053f7a67738d53.png
    2、修改.podspec文件内容
    有关spec文件的详细内容可以去cocoapods官网里面查看,地址:https://guides.cocoapods.org/syntax/podspec.html
    // 名字
    spec.name         = "testLib"
    // 版本
    spec.version      = "0.0.1"
    //简介 一般就写成和生成的项目名一直就可以了
    spec.summary      = "testLib."
    //描述 切记一定要比spec.summary长
    spec.description  = "testLib,这是一个描述"
    //你当前git代码库的地址,并不是https/ssh地址
    spec.homepage     = "https://github.com/nalna/testP"
    //直接写成MIT
    spec.license      = "MIT"
    //作者信息
    spec.author             = { "nalna" => "xxxx@139.com" }
    // 源 git对应的就是当前git仓库的https链接 tag就是打标签也就是版本号
    spec.source       = { :git => "https://github.com/nalna/testP.git", :tag => "#{spec.version}" }
    // 暂不做解释,不修改就行
    spec.source_files  = "Classes", "Classes/**/*.{h,m}"
    

    3、设置tag
    设置的tag版本号要个spec里面spec.version一直,不一直就会找不到当前版本

    //创建本地版本
    git tag '0.0.1'
    // 推到远程仓库
    git push --tags
    

    在远程仓库就出现如下的标签

    20111659669038_.pic.jpg
    4、注册trunk
    有关注册trunk的详细讲解在cocoapods官网也有讲解,地址:https://guides.cocoapods.org/making/getting-setup-with-trunk.html
    // 第一个是邮箱 名字为自定义的
    pod trunk register xxxxx@139.com '名字' --verbose
    

    注册成功的打印日志


    WeChat98362227e18e7ced59a16bab29c1ed43.png

    然后将收到的邮箱里面的链接地址拷贝出来在新的网页打开就表示认证成功
    5、校验本地的spec

    pod spec lint testLib.podspec
    // 忽略警告 
    pod spec lint testLib.podspec --allow-warnings
    

    6、上传spec到远程仓库

    //在这之前可以将远程仓库的库添加到本地的cocoapods里面,在~/.cocoapods/repos 可以查看到远程库的代码
    pod repo add testLib https://github.com/xxxxx/testLib.git
    // 这行命令行我始终没有提上去,也没有找到解决方法,初步判定是网络问题,但是始终没有解决
    pod trunk push testLib.podspec
    // 后面用的这行命令行
    pod repo push testLib --allow-warnings testLib.podspec 
    

    以上就是有关如何创建spec文件以及上传到github上面的命令行,但是github是共有仓库,我们一般在开发项目的时候都是私有仓库,下面就来介绍一下用码云创建私有库的方式,其实都差不多,但是记录一下,同时还有一个方便的地方就是上传spec国内网络都可以

    -------------------------------华丽的分割线------------------------------------

    1、在码云创建一个私有库

    2、通过https或者ssh添加spec到本地仓库地址,我这里是通过ssh添加到本地

    pod repo add DZXSpcs git@gitee.com:daizhongxiang/dzxspcs.git
    

    如果出现一下提示,说明没有在仓库里面添加公钥

    WeChat741f0955a5caae673b8b9c2dffe9a485.png

    3、生成本地公钥和私钥

    查看本地是否有私钥和公钥
    open ~/.ssh 
    
    WeChat1282d43b960d1083d7240edf599f61c9.png

    上图表示存在公钥和私钥,如果没有生成,执行下面的命令

    ssh-keygen
    //后面就直接敲回车键就可以了
    

    4、将公钥添加到码云的后台

    4.1、通过xcode打开公钥,复制公钥代码
    4.2 、复制公钥到码云的ssh公钥上面就可以了,个人->设置->ssh公钥
    4.3、重新执行一下2步骤的命令行
    4.4、验证是否添加库到本地,前往~/.cocoapods/repos 能查看到自己的私有库

    5、创建一个基础的base仓库并clone到自己指定的文件夹

    pod lib create DZXBase
    
    WeChatc49098287536eb67ab6824515435a078.png

    以上字段就不做解释,根据自己的需求选就可以了

    6、将自己的库拷贝到Classes文件夹下面

    WeChat7a2473caed42d5d21b3df108121731e0.png

    将ReplaceMe.m这个类删除放入自己的类就可以了

    7、pod install 本地的pod文件,使得本地能成功的编译过

    WeChatb07e7a939893b4f0edb7af5dc644e2b3.png

    终端进入到Example这个文件目录
    pod 之前的目录


    WeChat22b897d73d3afc4387157167b9172989.png

    pod 之后的目录


    WeChat10061fa2c4ca91afa8a6a1da9c8f89e0.png

    8、查看修改后的git

    // cd 到仓库的目录进行查看
    git status
    
    WeChat97c51deb2024d209e9a9c590ad238838.png

    9、修改本地的spec文件,修改的详细信息看分割线之前的内容

    10、修改完成之后,可以验证以下本地的spec是否正确

    pod lib lint 
    

    11、设置tag,这里就不做过多的解释

    git tag '0.1.0'
    

    12、提交git,这里就不做过多的解释

    git add . 
    git commit -m '提交'
    git remote add origin xxxxxx
    git push origin master 
    

    13、提交tag,这里就不做过多的解释

    git push --tags
    

    14、远程校验spec

    pod spec lint --allow-warnings
    

    15、提交spec到远程仓库

    pod repo push DZXSpcs DZXBase.podspec
    
    WeChat8f960d6dc5eaa32b6536b7cc6c7ebfb1.png

    这个问题就是说你创建repo库为空的,直接进入到仓库里面去创建一个README.m文件就可以了

    16、搜索当前库

    pod search DZXBase
    

    错误信息,暂时没有解决,网上有很多说法,但是都没有解决我的问题,但是不影响后续的操作

    [!] An unexpected version directory `Classes` was encountered for the `/Users/1t1s/.cocoapods/repos/gitee-daizhongxiang-dzxbase/DZXBase` Pod in the `DZXBase` repository.
    

    17、pod install

    相关文章

      网友评论

          本文标题:Cocoapods搭建私有库

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