美文网首页iOS 的那些事儿
搭建私有库遇到的问题

搭建私有库遇到的问题

作者: uniapp | 来源:发表于2020-11-15 21:52 被阅读0次

    金融公司的app开发中, 都设计到代码安全的问题. 为了防止代码泄露, 在开发的过程中, 都会杜绝和互联网的链接. 为此, iOS 的开发中, 涉及到 cocoapods 私有库的搭建.

    搭建私有库并不困难, 其一 cocoapods 文档足够详细; 其二有很多先例可循, 比如 使用私有cocoapods仓库. 但是作为第一次新手去做, 仍然遇到了一些棘手的问题. 特此记录, 希望能帮助到有同样需求的同学.

    1 提示远程仓库分支不存在:fatal: 远程分支 0.1.1 在上游 origin 未发现
     -> test (0.1.1)
        - WARN  | summary: The summary is not meaningful.
        - WARN  | url: The URL (https://github.com/uniapp10/test) is not reachable.
        - ERROR | [iOS] unknown: Encountered an unknown error ([!] /usr/local/bin/git clone https://github.com/uniapp10/ZDRepo.git /var/folders/w9/g769hqmj30l439w36chmn4_c0000gn/T/d20201115-738-sa8opx --template= --single-branch --depth 1 --branch 0.1.1
    
    正克隆到 '/var/folders/w9/g769hqmj30l439w36chmn4_c0000gn/T/d20201115-738-sa8opx'...
    fatal: 远程分支 0.1.1 在上游 origin 未发现
    

    其他人遇到的都是远程仓库没有标签0.1.1. 自己去检查仓库时, 发现标签已经存在. 并且反复删添了好几遍. 最后发现是podspec 文件有问题, s.source中的工程地址一定要正确:

    s.source           = { :git => 'https://github.com/uniapp10/Repo1.git', :tag => s.version.to_s }
    
    2 存放 spec 的私有仓库没有引用: 您的配置中指定要合并远程的引用 'refs/heads/master',
    [!] /usr/local/bin/git -C /Users/highwayliu/.cocoapods/repos/ZDRepo pull
    
    warning: 不建议在没有为偏离分支指定合并策略时执行 pull 操作。 您可以在执行下一次
    pull 操作之前执行下面一条命令来抑制本消息:
    
      git config pull.rebase false  # 合并(缺省策略)
      git config pull.rebase true   # 变基
      git config pull.ff only       # 仅快进
    
    您可以将 "git config" 替换为 "git config --global" 以便为所有仓库设置
    缺省的配置项。您也可以在每次执行 pull 命令时添加 --rebase、--no-rebase,
    或者 --ff-only 参数覆盖缺省设置。
    
    您的配置中指定要合并远程的引用 'refs/heads/master',
    但是没有获取到这个引用。
    

    这是工程 ZDRepo 项目创建后, 并没有初始化引起的. 拉取工程, 随便创建一个文件, 提交到工程. 然后删除这个文件, 再次提交, 保证存放 spec 的工程是干净的工程. 这是 pod 的要求. 如有其他文件, 会出现下面的问题.

    3 repos 目录不干净: [!] The repo ZDRepo at ../../.cocoapods/repos/ZDRepo is not clean
    [!] The repo `ZDRepo` at `../../.cocoapods/repos/ZDRepo` is not clean
    

    这是因为存放 spec 的工程目录中存在其他资源或文件. 首先将存放spec工程进行清理, 其次将本机文件夹 ~/.cocoapods/repos/私有库名 删除, 重新添加本地私有库: pod repo add [name] [url] . 最后再次推送 spec 文件: pod repo push [repo name] [name.podspec] --verbose --allow-warnings.

    遇到问题, 首先是搜索大法; 遇到新问题, 很可能是自己忽略了某些细节, 需要回头检查并结合提示进行思考. 以上是这次私有库搭建的两点儿心得.

    喜欢和关注都是对我的鼓励和支持~

    相关文章

      网友评论

        本文标题:搭建私有库遇到的问题

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