CocoaPods-Podfile文件中常见配置说明

Podfile配置

# 支持的iOS系统的最低版本
platform:ios,'8.0'

# 指定开源库的下载源(组件化开发时会用到)
#source 'https://github.com/CocoaPods/Specs.git'
#source 'https://code.houbank.net/xxx/xxxSpecs.git'

# ignore all warnings from all pods
inhibit_all_warnings!

# 使用framework(包含swift库就必须使用此设置,纯OC库可以不设置)
use_frameworks!

# 项目中如果有多个工程文件所以必须显式告知Cocopods,Pod的库属于哪个工程的依赖程的依赖
#project 'ProjectName.xcodeproj'

target 'ProjectName' do

    pod 'AFNetworking',               # 网络基础库
    pod 'YYCache',                    # 网络请求带缓存
    pod 'MJExtension'                 # 字典转模型
    pod 'SDWebImage',                 # 图片处理
    
end

platform :ios, "8.0"

  • 支持的iOS系统的最低版本

指定开源库的下载源

inhibit_all_warnings!

  • 忽略所有三方框架的警告

use_frameworks!

  • 不使用use_frameworks!

    • 会生成相应的 .a文件(静态链接库),
    • Build Phases --> Link Binary With Libraries --> libPods-**.a 包含了pod导入的所有三方库的.a文件
  • 使用use_frameworks!(iOS8以上版本才支持)

    • 会生成对应的frameworks文件(包含了头文件、二进制文件、资源文件等)
    • Build Phases --> Link Binary With Libraries --> Pods_xxx.framework 包含了pod导入的所有三方库的.framework文件
  • 纯OC项目通过pod导入纯OC库,一般都不使用frameworks

  • swift项目中通过pod导入swift项目,必须要使用use_frameworks!,在需要使用的到地方 import xxx

  • swift项目中通过pod导入OC项目

    • 使用use_frameworks!,在桥接文件中加上 #import "AFNetworking/AFNetworking.h"
    • 不使用frameworks,桥接文件中加上 #import "AFNetworking.h"

project 'ProjectName.xcodeproj'

  • 项目中如果有多个工程文件所以必须显式告知Cocopods,Pod的库属于哪个工程的依赖

pod install 和 pod update

  • 建议使用命令
pod install --no-repo-update
  • pod installpod update没有指定框架版本号时是有区别
    • pod installPodfile.lock文件存在时直接读取并下载框架,如果是团队开发为了保证版本一致,建议使用此命令
    • pod update直接读取Podfile文件中的信息,不管Podfile.lock文件是否存在,所以在团队开发时可能导致大家使用的第三方库的版本不一致
  • pod installpod update选择
    • 一般情况下,第一次从共享库把项目下载下来之后,应该使用pod install命令安装,而不是选择pod update,目的是为了保证大家使用的第三方框架版本一致
    • 如果以后大家需要升级第三方框架,那么大家约定好统一再执行一次pod update
    • 建议在编写podfile文件时,明确指定第三方库的版本,格式如下:pod '第三方库名称', '~> 版本号',这样不管使用pod install还是pod update效果都是一致的
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 22,508评论 0 39
  • 这是近期第三次临写兰亭序,每临之时,心静如水,就能渐进状态,心眼手笔,皆能默契。 点画在眼,浮现于心,手驭笔墨...
    墨池莲鱼阅读 588评论 2 2
  • 有人给我留言: 我是英语专业,大学毕业就回家乡了,在一个镇上当初中英语老师,可是每天都很不开心。很想辞职,可是感觉...
    杨小米阅读 37,176评论 15 125
  • 这天,白云酒楼里来了两位客人,一男一女,四十岁上下,穿着不俗,男的还拎着一个旅行包,看样子是一对出来旅游的夫妻。 ...
    行悟阅读 356评论 0 1
  • 【日精进打卡第12天】 【知~学习】 《六项精进》2遍共24遍 《大学》2遍共24遍 【经典名句分享】 己所不欲,...
    木木木1阅读 232评论 0 0