uni-app ios打包提示ITMS-90482:Invalid Executable
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的这个问题。
1111
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 进行验证,可以定位并解决问题。希望上述代码示例和步骤能帮助您解决打包过程中遇到的问题。