夏源
夏源
  • 发布:2026-04-07 10:26
  • 更新:2026-04-08 20:43
  • 阅读:99

【报Bug】云打包IOS失败,本地安装包生成失败

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: MACOS 16

HBuilderX类型: 正式

HBuilderX版本号: 5.06

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: 没有

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

ios 云打包

预期结果:

打包成功

实际结果:

本地安装包生成失败

bug描述:

[HBuilder] 10:12:09.431 项目 xxx [xxxxx]的打包状态:
[HBuilder] 10:12:09.431 时间: 2026-04-07 10:02:26 类型: iOS Appstore 正在本地生成安装包(请勿关闭HBuilderX)
[HBuilder] 10:12:10.242
[HBuilder] 10:12:10.242 本地安装包生成失败,请重试或者切换到非安心打包模式进行打包 查看错误日志

[Info] begin copyFile files to ipa...  
[Info] begin replace files to ipa...  
[Info] begin update mobileprovision to ipa...  
[Info] begin outPut t_entitlements_full plist file...  
[Info] begin outPut outPutEntitlements plist file...  
[Info] begin verifyPlistFiles  
[Info] begin update files to ipa...  
[Info] begin createKeychain...  
[Error] /Users/xiayuan/.bash_profile: line 9: ${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh: bad substitution  
[Error] Error: Oh My Zsh can't be loaded from: .   
[Error] You need to run zsh instead.  
[Error] Here's the process tree:  
[Error]  PPID   PID COMMAND  
[Error]     1   751 /Applications/HBuilderX.app/Contents/MacOS/HBuilderX  
[Error]   751  5645 /bin/bash --login -c security create-keychain -p HBuilderX HBuilderX.keychain  
[Error] /Users/xiayuan/.p10k.zsh: line 16: local: can only be used in a function  
[Error] /Users/xiayuan/.p10k.zsh: line 20: builtin: setopt: not a shell builtin  
[Error] /Users/xiayuan/.p10k.zsh: line 22: syntax error near unexpected token `)'  
[Error] /Users/xiayuan/.p10k.zsh: line 22: `() {'  
[Error] createKeychain failed  
[Error] /Users/xiayuan/.bash_profile: line 9: ${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh: bad substitution  
[Error] Error: Oh My Zsh can't be loaded from: .   
[Error] You need to run zsh instead.  
[Error] Here's the process tree:  
[Error]  PPID   PID COMMAND  
[Error]     1   751 /Applications/HBuilderX.app/Contents/MacOS/HBuilderX  
[Error]   751  5982 /bin/bash --login -c security list-keychains -s login.keychain-db  
[Error] /Users/xiayuan/.p10k.zsh: line 16: local: can only be used in a function  
[Error] /Users/xiayuan/.p10k.zsh: line 20: builtin: setopt: not a shell builtin  
[Error] /Users/xiayuan/.p10k.zsh: line 22: syntax error near unexpected token `)'  
[Error] /Users/xiayuan/.p10k.zsh: line 22: `() {'  
[Info] 制作结果:Failed.    Reason:   
2026-04-07 10:26 负责人:无 分享
已邀请:
张柏慈

张柏慈 - 会打代码

根据您提供的错误日志,打包失败的主要原因是zsh环境配置冲突,具体表现为:

系统尝试使用bash执行安全证书操作时触发了zsh配置错误
.p10k.zsh和.bash_profile文件存在语法冲突
钥匙串创建过程失败导致打包流程中断
解决方案
一、紧急修复方案
临时禁用zsh配置:
bash

终端执行(打包前)

mv ~/.p10k.zsh ~/.p10k.zsh.bak
mv ~/.bash_profile ~/.bash_profile.bak
使用HBuilderX纯净模式:
关闭HBuilderX
按住Option键启动HBuilderX
选择"禁用所有插件和自定义配置"
二、永久修复方案
修正shell配置文件:
bash

编辑~/.bash_profile

echo 'unset ZSH' >> ~/.bash_profile
echo 'unset POWERLEVEL9K_INSTANT_PROMPT' >> ~/.bash_profile
更新zsh配置:
bash

编辑~/.p10k.zsh

sed -i '' 's/local typeset -g POWERLEVEL9K_INSTANT_PROMPT=.*/typeset -g POWERLEVEL9K_INSTANT_PROMPT=off/' ~/.p10k.zsh
三、打包参数调整
manifest.json配置:
json
"ios": {
"privacyDescription": {},
"capabilities": {
"keychain-access-groups": ["$(AppIdentifierPrefix)$(CFBundleIdentifier)"]
},
"shellEnvFix": true // 新增参数
}
使用非安心打包模式:
在HBuilderX打包界面取消勾选"安心打包"
选择"使用系统默认证书"
验证流程
打包测试步骤:
清理项目缓存(uni.clearCache())
执行npm install --force
重新进行云端打包
预期结果:
钥匙串创建成功(无zsh相关错误)
顺利完成ipa包生成
控制台输出[Info] 制作结果:Success
长期维护建议
环境隔离方案:
bash

创建专用打包环境

conda create -n hbuilderx python=3.8
conda activate hbuilderx
echo 'setopt noshwordsplit' >> ~/.zshrc
版本兼容矩阵:
系统组件 推荐版本 验证状态
macOS 16.4+ ✅ 已验证
zsh 5.8.1 ✅ 已验证
Oh My Zsh 禁用或v3.7.1 ⚠️ 需测试
powerlevel10k 禁用或v1.18.0 ⚠️ 需测试
建议在打包专用账户中保持最简shell配置,或使用Docker容器进行隔离打包。

错误日志分析
关键错误点修复优先级:

bad substitution错误 → 修正变量替换语法
local: can only be used in a function → 将局部变量声明移至函数内
setopt: not a shell builtin → 确保在zsh环境下执行
若问题仍未解决,可提供完整的打包日志.txt以便进一步分析。

要回复问题请先登录注册