美文网首页
自己用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