uni-app ios打包提示ITMS-90482:Invalid Executable

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

uni-app ios打包提示ITMS-90482:Invalid Executable

iOS 打包问题

问题描述

ios打包提示以下错误信息:

  • ITMS-90482: Invalid Executable The executable ‘HBuilder.app/Frameworks/RongChatRoom.framework/RongChatRoom’ contains bitcode.
  • ITMS-90482: Invalid Executable The executable ‘HBuilder.app/Frameworks/RonglMLibCore.framework/RonglMLibCore’ contains bitcode.
  • ITMS-90482: Invalid Executable The executable ‘HBuilder.app/Frameworks/RonglMWrapper.framework/RonglMWrapper’ contains bitcode.
  • ITMS-90482: Invalid Executable The executable ‘HBuilder.app/Frameworks/RongLocation.framework/RongLocation’ contains bitcode.

这个融云插件我之前用的时候都可以打包发行的,我看了一下这个插件的更新时间还是2022年,所以应该不是插件的问题。是不是hbuilder在后面更新版本的时候多了bitcode的这个问题。


11 回复

q请问解决了么,我也是遇到这个问题了

无,正守着等官方回复呢

回复 pzedu: 试试下载上个版本的打包来么 我这没次数了

回复 3***@qq.com: 我这边很久没有打包发行了,你上个版本是多少,我试着回退一下

回复 pzedu: 我现在是4.44 我一直都是最新的 上个版本是啥 我也忘了 肯定是4.44之前那个

回复 pzedu: 我下个4.36试试

回复 pzedu: 4.36行 我传上去了

回复 3***@qq.com: ok,我的4.29也刚刚过了

实际原因是插件包含的动态库确实包含bitcode。 HBuilderX4.40+版本云端打包更新为XCode16.1了,苹果发现使用高版本的XCode提交的安装包使用的三方动态库不能包含bitcode,如果包含的话则会报错。 暂时可以使用HBuilderX4.36及以下版本,对应云端打包机为XCode15.4。 建议联系插件作者,尽快使用高版本XCode重新生成插件依赖的动态库。

针对您提到的 uni-app 在 iOS 打包时遇到的 ITMS-90482: Invalid Executable 错误,这通常是由于打包过程中某些配置或文件处理不当导致的。ITMS-90482 错误通常与应用的二进制文件(executable)不符合 App Store 的要求有关。以下是一些可能的解决方案和代码示例,帮助您检查和修正这个问题。

1. 确保使用正确的构建配置

首先,确保您在 uni-app 中设置了正确的构建配置。特别是针对 iOS 的构建,需要确保使用的是 Release 模式,而不是 Debug 模式。

// 在 manifest.json 中设置
{
  "mp-weixin": {},
  "app-plus": {
    "distribute": {
      "build": {
        "type": "release" // 确保这里设置为 release
      }
    }
  }
}

2. 检查 Info.plist 配置

确保 Info.plist 文件中的配置正确无误,特别是与可执行文件相关的配置,如 CFBundleExecutable

<!-- Info.plist 示例 -->
<key>CFBundleExecutable</key>
<string>YourExecutableName</string> <!-- 确保这里的名称与你的可执行文件名称一致 -->

3. 清理和重新构建项目

有时候,简单的清理和重新构建项目可以解决打包过程中遇到的问题。

# 假设你使用的是 HBuilderX,可以在终端中执行以下命令
cd /path/to/your/uni-app-project
hbuilderx --clean
hbuilderx --build --platform ios --mode release

4. 检查第三方库和依赖

如果您的项目中使用了第三方库或依赖,确保它们都是兼容的,并且没有引入任何非法或不被支持的代码。

5. 使用 Xcode 重新签名和验证

如果上述步骤都未能解决问题,您可以尝试使用 Xcode 打开生成的 .xcworkspace 文件,然后重新签名并验证应用。

# 在 Xcode 中打开项目后
# 选择 Product -> Archive
# 在 Organizer 窗口中,选择你的归档文件,点击 Validate...
# 根据提示进行修正,直到验证通过

总结

ITMS-90482: Invalid Executable 错误可能由多种原因引起,通常涉及到应用的二进制文件配置问题。通过仔细检查构建配置、Info.plist 文件、第三方库依赖以及使用 Xcode 进行验证,可以定位并解决问题。希望上述代码示例和步骤能帮助您解决打包过程中遇到的问题。

回到顶部