Podfile文件中常见配置说明
2018-09-02 本文已影响66人
yanhooIT
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 install
和pod update
在没有
指定框架版本号
时是有区别
的-
pod install
在Podfile.lock
文件存在时直接读取并下载框架,如果是团队开发为了保证版本一致,建议使用此命令 -
pod update
直接读取Podfile
文件中的信息,不管Podfile.lock
文件是否存在,所以在团队开发时可能导致
大家使用的第三方库的版本不一致
-
-
pod install
和pod update
选择- 一般情况下,
第一次
从共享库把项目下载下来之后,应该使用pod install
命令安装,而不是
选择pod update
,目的是为了保证大家使用的第三方框架版本一致
- 如果以后大家需要升级第三方框架,那么大家
约定好
,统一
再执行一次pod update
-
建议
在编写podfile文件时,明确
指定第三方库的版本,格式如下:pod '第三方库名称', '~> 版本号'
,这样不管使用pod install
还是pod update
效果都是一致的
- 一般情况下,