在带有外部库的React Native项目中出现的iOS ITMS-90725警告
我正在为iOS与 Android开发一个React Native应用,使用搭载Apple M2芯片(Apple Silicon)的Mac mini进行开发。
最近,我已成功将一个新的构建归档并上传到App Store Connect。该构建已被接受,但我收到了Apple给出的以下警告信息:
ITMS-90725: SDK version issue** - This app was built with the iOS 18.2 SDK. Starting April 28, 2026, all iOS and iPadOS apps must be built with the iOS 26 SDK or later, included in Xcode 26 or later, in order to be uploaded to App Store Connect or submitted for distribution.
我的应用当前运行良好,且已能够发布,但我想确保在未来提交时不会被阻塞,因为2026年 4月临近。
以下是我的当前设置及一个具体约束:
-
框架:React Native(Expo bare workflow / CLI)
-
环境:Mac Mini M2
-
当前Xcode版本:26.3
-
当前macOS版本:Tahoe 26.3.1
-
架构权宜之计:我正在使用一个外部厂商库(
OmronConnectivityLibrary),它仅为物理设备提供ios-arm64切片,以及ios-x86\_64-simulator切片。由于缺少ios-arm64-simulator切片,我被迫在本地通过Rosetta 2运行模拟器(有时也在Xcode中)来测试应用。 -
我的问题是:
-
这个SDK版本警告到底是由什么触发的?它是否严格绑定于我安装的Xcode版本?
-
我所采用的架构权宜之计(由于Omron库在模拟器上使用Rosetta/x86_64)在为App Store Connect打包应用时所使用的SDK版本上,是否会产生任何无意的影响?
-
为了在下一次提交时避免此警告,升级到所需的“iOS 26 SDK”的具体步骤是什么?
非常感谢您的任何指导!
先行致谢
解决方案
要回答你的问题:
Q1:这个SDK版本警告到底是由什么触发的?它是否严格绑定于我安装的Xcode版本?
A1:我怀疑OmronConnectivityLibrary可能会引发该警告,你可以通过这个 otool -l 来验证。
(base) ➜ libavformat.xcframework git:(n8.0.1) ✗ otool -l libxxx.framework/libxxx | grep LC_BUILD_VERSION -A5
cmd LC_BUILD_VERSION
cmdsize 32
platform 7
minos 13.0
sdk 26.2 <- built sdk version is XCode 26.2
ntools 1
--
cmd LC_BUILD_VERSION
cmdsize 32
platform 7
minos 14.0
sdk 26.2
ntools 1
Q2:我所采用的架构权宜之计(由于Omron库在模拟器上使用Rosetta/x86_64)在为App Store Connect打包应用时所使用的SDK版本上,是否会产生任何无意的影响?
A2:上传的内容根本不关心模拟器的切片,你上传的归档中不包含模拟器目标。你可以随时检查归档的产物,它们没有模拟器切片,只包括用于真实iOS/iPadOS设备的arm64。
Q3:为了在下一次提交时避免此警告,升级到所需的 "iOS 26 SDK" 的具体步骤是什么?
A3:如果你确认OmronConnectivityLibrary不是引发问题的原因,你可以继续使用 lipo -l 来检查所有打包的库。如果Apple仍然给出这个警告,请在这里贴出。