美文网首页
自己用pod的一些总结

自己用pod的一些总结

作者: timeQuick | 来源:发表于2019-03-19 15:29 被阅读0次

    前言

    自己在项目一般用pod来管理第三方库,几年工作下来发现pod里还是有一些要注意的地方。随记录之,不喜勿喷。

    Pod 工作原理

    cocoaPods在git上的地址是 https://github.com/cocoapods/Specs
    我们在终端用Pod install 命令时,它主要执行的过程如下:
    1.查看本地目录 ~/.cocoapods/repo/master/Specs 是否存在;
    2.存在的话,从这个本地三方库信息库中获取 Podfile 中对应三方库的 git 地址

    1. 不存在,输出 Setting up CocoaPods Master repo,并从gitHub上把cocoaPods拉取到 ~/.cocoapods/repo/中
      在安装cocoaPods时,如果安装停止缓慢的话,网上有一种方法是从github上clone下来,复制一自己本地的specs目录下。

    Pod install 与Pod update的区别

    • 用pod install 它会参照Podfile.lock里面的第三方库的版本号来安装
    • pod update 会参照Podfile里面的文件来安装第三方库,由于里面的库文件没有版本号,pod update会安装最新的库

    在单个工程中的一般写法

    platform :ios, '8.0'
    use_frameworks!
    ## ignore warning
    inhibit_all_warnings!
    target 'WeChat' do
    #YYKit
    #pod 'YYKit'                             , '1.0.9'
    # YYKit 的一套分类
    pod 'YYCategories'                      , '1.0.4'
    # 富文本
    pod 'YYText'                            , '1.0.7'
    # 字典转模型
    pod 'YYModel'                           , '1.0.4'
    # YYImage
    pod 'YYImage'                           , '1.0.4'
    # webP
    pod 'YYImage/WebP'
    # 高性能的 iOS 缓存框架
    pod 'YYCache'                           , '1.0.4'
    # 高性能的 iOS 异步图像加载框架。
    pod 'YYWebImage'                        , '1.0.5'
    # iOS 键盘监听管理工具
    pod 'YYKeyboardManager'                 , '1.0.1'
    # iOS 全局并发队列管理工具
    pod 'YYDispatchQueuePool'               , '1.0'
    # iOS 异步绘制与显示的工具
    pod 'YYAsyncLayer'                      , '1.0'
    end
    

    在workSpace中多个工程中的一般写法

    workspace 'MyWorkspace.xcworkspace' //workspace文件名
    project 'MyApp2/MyApp2.xcodeproj' //主工程路径
    
    target 'MyApp2' do
      platform :ios, '8.0'
      project 'MyApp2/MyApp2.xcodeproj' //工程路径
      pod 'Masonry', '~> 1.0.2'
    end
    
    target 'MyApp1' do
      platform :ios, '8.0'
      project 'MyApp1/MyApp1.xcodeproj' //工程路径
      pod 'Masonry', '~> 1.0.2'
      pod 'AFNetworking', '~> 3.1.0'
    end
    

    写PodFile注意的细节

    E5092402-BCA3-4C23-8690-149DF1F077DF.png
    注意点1
    1.纯oc项目中 通过pod导入纯oc项目, 一般都不使用use_frameworks 以前我就是没写,哈哈 2.swift 项目中通过pod导入swift项目,必须要使用use_frameworks
    3.swift 项目中通过pod导入OC项目
    • 使用use_frameworks,在桥接文件里加上#import "AFNetworking/AFNetworking.h"
    • 不使用frameworks,桥接文件加上 #import "AFNetworking.h"

    注意点2
    使用这句 inhibit_all_warnings 来消除cocoapod引入的第三方库的警告,这个技能太强大了!!! 可以指定一个库不显示它的警告

    pod 'AFNetworking', '2.6.3', :inhibit_warnings => true

    注意点3
    这一点的话纯是个人感觉,这样在第三方库上写上注释,主要是为了易读。

    相关文章

      网友评论

          本文标题:自己用pod的一些总结

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