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

王柳  金牌会员 | 2024-6-14 20:27:53 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 993|帖子 993|积分 2979



目次
前言
1.使用cocoapods遇到的标题
2.解决办法

1.用法解释
1. config.build_settings:
2.IPHONEOS_DEPLOYMENT_TARGET
2.使用实例
3.注意事项
1.一致性
2.pod版本



前言

        这篇文章主要是介绍如何设置cocoapods三方库如何设置最低兼容的版本。
1.使用cocoapods遇到的标题

        iOS开发过程中,我们通常会使用cocoapods管理三方库,通常环境下,我们的podfile文件如下面的样子。
  1. platform :ios, '12.0'
  2. target 'YourAppTarget' do
  3.   # 其他pod配置
  4.   pod 'SomePod'
  5. 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.使用实例

         还以上面的代码为例,我们看看如何设置构建选项:
  1. platform :ios, '12.0'
  2. target 'YourAppTarget' do
  3.   # 其他pod配置
  4.   pod 'SomePod'
  5.   post_install do |installer|
  6.     installer.pods_project.targets.each do |target|
  7.       target.build_configurations.each do |config|
  8.         config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
  9.       end
  10.     end
  11.   end
  12. end
复制代码
每一项设置和寄义解释如下:
1. platform :ios, '12.0':
   - 这行代码设置了整个项目的最低iOS版本为12.0。
2. 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的最低要求。​​​​​​​



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王柳

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表