uni-app iOS传统打包提示ITMS-90426: Invalid Swift Support

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app iOS传统打包提示ITMS-90426: Invalid Swift Support

产品分类

uniapp/App

操作步骤

ios使用传统打包了还是会提示ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

预期结果

ios使用传统打包了还是会提示ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

实际结果

ios使用传统打包了还是会提示ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

bug描述

ios使用传统打包了还是会提示ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

图片

开发环境、版本号、项目创建方式

信息
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 11.3
HBuilderX类型 正式
HBuilderX版本号 4.36
手机系统 iOS
手机系统版本号 iOS 16
手机厂商 苹果
手机机型 苹果
页面类型 nvue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

2 回复

在解决uni-app iOS传统打包时遇到的ITMS-90426错误(Invalid Swift Support)时,通常意味着Xcode项目配置中有关Swift支持的部分存在问题。这个错误常见于项目中混用了Objective-C和Swift代码,但打包时Swift支持库没有正确生成或配置。

以下是一些步骤和代码示例,帮助你检查和修复这个问题。请注意,由于uni-app本身并不直接涉及Swift代码,这个问题往往是因为项目中引入的第三方库或插件使用了Swift。

1. 确认Swift使用情况

首先,确认你的项目中是否真的使用了Swift代码。如果确定没有使用,可以检查Xcode项目的Build Settings中是否有不必要的Swift相关配置。

2. 检查Xcode Build Settings

打开Xcode,选择你的项目,然后到Build Settings中检查以下设置:

  • Defines Module:应设置为Yes,如果你的项目或其依赖的库使用了模块。
  • Always Embed Swift Standard Libraries:如果项目中包含Swift代码,应设置为Yes。否则,如果没有使用Swift,确保它是No。

3. 清理和重建项目

在Xcode中,尝试以下步骤:

  1. Clean Project:使用快捷键Shift + Command + K。
  2. Build Project:使用快捷键Command + B。
  3. Archive:使用Product -> Archive进行打包。

4. 检查生成的.xcarchive文件

在Xcode的Archives窗口中,找到你刚刚创建的archive文件,右键选择“Show in Finder”。打开.xcarchive包,检查Products/Applications/your-app.app/Frameworks文件夹下是否有不必要的Swift动态库。

5. 更新和配置第三方库

如果项目中使用了第三方库,确保这些库是最新的,并且它们的配置与你的项目设置兼容。特别是那些可能包含Swift代码的库。

示例代码(Xcode配置检查)

# 假设你的Xcode项目名为MyApp
# 打开Xcode并选择MyApp项目
# 在Build Settings中搜索以下关键字进行设置

# Defines Module
DEFINES_MODULE = YES  # 如果使用了模块

# Always Embed Swift Standard Libraries
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO  # 如果未使用Swift代码
# 或者
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES  # 如果使用了Swift代码

6. 重新提交App到App Store

在确保所有配置正确无误后,重新使用Xcode的Product -> Archive功能打包,并通过Xcode的Organizer窗口上传到App Store Connect。

通过这些步骤,你应该能够解决ITMS-90426错误,并成功提交你的uni-app iOS应用到App Store。

回到顶部