iOS与Android部署目标与SDK版本对比

158 阅读1分钟
概念iOSAndroid核心差异
最低系统版本支持Deployment TargetminSdkVersion功能相同,均定义最低兼容版本。
目标运行时行为适配无直接对应(动态检查)targetSdkVersionAndroid 需显式声明目标版本以启用系统行为,iOS 依赖代码动态适配。
编译时 SDK 版本由 Xcode 版本隐式决定compileSdkVersionAndroid 需手动配置,iOS 由开发环境管理,但均决定可用的 API 和编译工具。

关键区别

  • 显式 vs 隐式
    Android 需要显式配置 targetSdkVersion 以控制运行时行为,而 iOS 通过代码动态适配不同系统版本。

  • 兼容性处理
    Android 的 targetSdkVersion 要求开发者主动适配新特性,而 iOS 的兼容性更多依赖开发者在代码中处理 API 可用性。

pod platform :ios, '13.0' 指的也是最低版本吗

当你在 Podfile 中设置 platform :ios, '13.0',但 Xcode 项目的 Deployment Target 为 15.0 时,CocoaPods 不会报错,这是因为:

  1. CocoaPods 的优先级逻辑

    • Podfile 中的 platform 主要约束的是 依赖库(Pods)的最低兼容版本,而非强制覆盖主项目的 Deployment Target。
    • 如果 Xcode 项目的 Deployment Target 高于 Podfile 中的设置(如 15.0 > 13.0),CocoaPods 会认为这是兼容的(因为 15.0 >= 13.0),因此不会修改主项目的设置。
  2. 主项目的最终决定权

    • Xcode 项目的 Deployment Target 优先级高于 Podfile 的 platform 设置。
    • 应用实际支持的最低版本以 Xcode 项目的设置为准(即 15.0),而 Podfile 的 platform 仅确保依赖库兼容到 13.0