CocoaPods

作者: bianruifeng | 来源:发表于2019-12-03 15:20 被阅读0次

    1、指定版本号带~>与不带的区别

     带~> 是指定一个范围的版本号
     ~> 大于等于指定的版本号,小于高一位的版本号
    
    eg:
    ~> 0.1.x 0.2以下 0.1.x以上(包括0.1.x)
    ~> 0.1 1以下 0.1以上(包括0.1)
    
    pod 'AFNetworking', '~> 1.0' 版本号可以是1.0,可以是1.1,1.9,但必须小于2
    
    不带~> 是指定固定的版本号
    
    pod 'AFNetworking', '1.0' // 版本号指定为1.0
    

    2、使用pods报错

    [!] CDN: trunk Repo update failed - 17 error(s):
    CDN: trunk URL couldn't be downloaded: ....
    

    方案一

    1. podfile文件中指定source源为master

    source 'https://github.com/CocoaPods/Specs.git'

    1. 执行pod repo remove trunk移除trunk

    但是我的没成功。

    最后降版本,奈何网速差。。。

    sudo gem uninstall cocoapods
    gem install cocoapods -v 1.7.0
    
    // 安装最新版cocoapods
    sudo gem install cocoapods --pre
    // 移除本地master
    sudo rm -fr ~/.cocoapods/repos/master
    // 移除本地缓存
    sudo rm -fr ~/Library/Caches/CocoaPods/
    //查看当前源
    pod repo list
    //查看pod 所在位置
    which pod 
    // 重新setup,如果很慢可使用问题1的解决方法(git clone)
    pod setup --verbose
    // 移除trunk
    pod repo remove trunk
    

    查看文件下载进度,可以在另一个终端窗口,执行以下命令:

    cd ~/.cocoapods
    du -sh *
    # du -sh ./.cocoapods/
    

    执行du -sh *之后会显示已下载的文件大小。如果下载中断了,ctrl+c结束命令,重新执行 pod setup

    CocoaPods安装:
    https://www.jianshu.com/p/ab6411a05bc2
    https://www.jianshu.com/p/4ed3645a410a

    CocoaPods 的源

    https://github.com/CocoaPods/Specs.git
    https://code.aliyun.com/Magi/CocoaPods.git 国内镜像 每小时更新
    https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git 清华大学开源软件镜像站

    使用其他源

    CocoaPods 镜像使用帮助
    CocoaPods 是一个 Cocoa 和 Cocoa Touch 框架的依赖管理器,具体原理和 Homebrew 有点类似,都是从 GitHub 下载索引,然后根据索引下载依赖的源代码。
    
    
    对于旧版的 CocoaPods 可以使用如下方法使用 tuna 的镜像:
    $ pod repo remove master
    $ pod repo add master https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git
    $ pod repo update
    
    
    
    新版的 CocoaPods 不允许用pod repo add直接添加master库了,但是依然可以:
    $ cd ~/.cocoapods/repos 
    $ pod repo remove master
    $ git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
    
    
    最后进入自己的工程,在自己工程的podFile第一行加上:
    source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
    

    搜索失败

    成功运行配置环境20200601:
    iMac (21.5-inch, Late 2015)
    macOS 10.15.5 (19F101)
    ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin19]
    rvm 1.29.10 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
    pod 1.9.3

    修改路径/etchosts文件
    添加如下内容:

    199.232.68.133 raw.githubusercontent.com

    如何多个项目共用一个pod??

    workspace 工作空间
    单个project项目引入pod 时,直接生成对应的workspace
    如何解决??

    # Uncomment the next line to define a global platform for your project
    platform :ios, '9.0'
    #指定项目所在的工作空间名称
    workspace 'contact.xcworkspace'
    
    #项目一,项目二共有 引用文件
    pod 'AFNetworking'
    #项目一
    target 'contactDemo_swift' do
      # Comment the next line if you don't want to use dynamic frameworks
      use_frameworks!
      #指定项目一 的入口文件路径
      project './contactDemo_swift/contactDemo_swift.xcodeproj'
      # Pods for contactDemo_swift
      pod 'SnapKit'
      target 'contactDemo_swiftTests' do
        inherit! :search_paths
        # Pods for testing
      end
    
      target 'contactDemo_swiftUITests' do
        # Pods for testing
      end
    
    end
    
    #项目二
    target 'contactDemo_objc' do
      # Comment the next line if you don't want to use dynamic frameworks
      use_frameworks!
      project './contactDemo_objc/contactDemo_objc.xcodeproj'
      # Pods for contactDemo_swift
      pod 'Masonry'
      target 'contactDemo_swiftTests' do
        inherit! :search_paths
        # Pods for testing
      end
    
      target 'contactDemo_swiftUITests' do
        # Pods for testing
      end
    
    end
    
    

    参考:
    https://www.jianshu.com/p/fc8edcf71dbb
    https://www.jianshu.com/p/1110f671ed8a

    相关文章

      网友评论

        本文标题:CocoaPods

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