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系统的最低版本

指定开源库的下载源

  • source 'https://code.houbank.net/xxx/xxxSpecs.git'

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效果都是一致的

你可能感兴趣的:(CocoaPods-Podfile文件中常见配置说明)