Xcode设置cocoapods库的最低兼容版本

目录

前言

1.使用cocoapods遇到的问题

2.解决办法

1.用法解释

[1. config.build_settings:](#1. config.build_settings:)

2.IPHONEOS_DEPLOYMENT_TARGET

2.使用实例

3.注意事项

1.一致性

2.pod版本


前言

这篇文章主要是介绍如何设置cocoapods三方库如何设置最低兼容的版本。

1.使用cocoapods遇到的问题

iOS开发过程中,我们通常会使用cocoapods管理三方库,通常情况下,我们的podfile文件如下面的样子。

platform :ios, '12.0'

target 'YourAppTarget' do
  # 其他pod配置
  pod 'SomePod'
end

这个时候我们有时候会遇到cocoapods三方库版本号和当前版本号不兼容的问题。例如我们的工程需要兼容的最低的iOS的版本号为iOS12,我们通过cocoapods的方式使用了MJRefresh和Masonry两个三方库,MJRefresh最低兼容的版本为iOS12,Masonry兼容的最低版本号为iOS8,如下图所示:

这种情况下我们需要手动修改iOS兼容的最低版本才能运行我们的项目,例如在上面的例子中,我们需要把Masonry的最低兼容的iOS版本号改成iOS12。这样的话就出现了一个问题,我们每次运行pod install命令的时候,都要手动修改三方库的iOS版本号,当我们使用的库比较多的时候,修改就变得十分繁琐,能不能通过配置自动修改兼容的最低版本呢?

答案是可以的。就是通过修改cofing.build_setting来实现。

2.解决办法

config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0' 是用来设置Xcode项目的部署目标的。这段代码通常用于在`Podfile`中配置CocoaPods的设置,以确保你的Pods可以与指定的iOS版本兼容。

1.用法解释

confing的一些用法解释如下:

1. config.build_settings:

这是一个哈希,包含了许多构建设置。你可以通过这个哈希来设置各种编译选项。

2.IPHONEOS_DEPLOYMENT_TARGET

这是一个构建设置,指定了iOS的最低部署目标版本。它告诉Xcode和CocoaPods这个项目的目标是哪个最低版本的iOS。

设置为`12.0`意味着这个项目将支持运行在iOS 12.0及以上的设备上。

2.使用实例

还以上面的代码为例,我们看看如何设置构建选项:

platform :ios, '12.0'

target 'YourAppTarget' do
  # 其他pod配置
  pod 'SomePod'

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
      end
    end
  end
end

每一项设置和含义解释如下:

  1. platform :ios, '12.0':
  • 这行代码设置了整个项目的最低iOS版本为12.0。
  1. post_install钩子:

post_install是一个CocoaPods的钩子,在所有Pod安装完成后执行。它用于对生成的Xcode项目进行一些额外的配置。

3.遍历每个target

installer.pods_project.targets.each do |target|遍历所有的Pod target。

4.遍历每个构建配置

target.build_configurations.each do |config|遍历每个构建配置(例如Debug和Release)。

5.设置构建设置

config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'` 为每个target的每个构建配置设置`IPHONEOS_DEPLOYMENT_TARGET`为12.0。

3.注意事项

1.一致性

确保你在`Podfile`中设置的`platform设置的版本号应该与config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] 一致,以避免混淆和潜在的问题。

2.pod版本

一些Pods可能不支持非常旧的iOS版本,所以在选择iOS部署目标时要考虑到所有Pods的最低要求。​​​​​​​

相关推荐
梦魇梦狸º35 分钟前
mac 配置 python 环境变量
chrome·python·macos
丁总学Java6 小时前
macOS如何进入 Application Support 目录(cd: string not in pwd: Application)
macos
qdprobot6 小时前
Mixly米思齐1.0 2.0 3.0 软件windows版本MAC苹果电脑系统安装使用常见问题与解决
windows·macos
麦克Mapp6 小时前
不用安装双系统,如何在mac上玩windows游戏呢?
macos
符小易6 小时前
Mac苹果电脑 怎么用word文档和Excel表格?
macos·word·excel
梦魇梦狸º10 小时前
node安装与管理
macos·node.js
缘友一世18 小时前
macOS查看当前项目的 tree 结构
macos
梦魇梦狸º19 小时前
mac 安装 python2
python·macos
篮l球场1 天前
mac m1下载maven安装并配置环境变量
macos
YAIMZA1 天前
mac配置 iTerm2 使用lrzsz与服务器传输文件
服务器·macos·lrzsz