因为bitcode问题 升级uni-app插件sdk后ios云打包失败
因为bitcode问题 升级uni-app插件sdk后ios云打包失败
操作步骤:
- 云打包
预期结果:
- 云打包成功
实际结果:
- 云打包失败
bug描述:
hbuildx升级最新版后打包上传appstore报bitcode错误,然后升级插件sdk,升级后ios云打包不了,一直报错
错误信息链接:https://app.liuyingyong.cn/build/errorLog/1f223df0-2fc7-11f0-b372-ab580e850caf
部分错误信息:
Undefined symbols for architecture arm64:
"$s28IntegratedPaymentSolutionSDK07OctopusB0C02isE10AppInstallSbyFTj", referenced from:
"$s11EightPaySDK4UnitC05beginB0yySo12NSDictionaryCF in libEightPaySDK.a(Unit.o)
"$s28IntegratedPaymentSolutionSDK07OctopusB0C02isE9ResultUrlySb10Foundation3URLVFTj", referenced from:
"$s11EightPaySDK4UnitC9handelUrlyy10Foundation3URLVF in libEightPaySDK.a(Unit.o)
"$s11EightPaySDK4UnitC9handelUrlyy10Foundation3URLVFTo in libEightPaySDK.a(Unit.o)
"$s28IntegratedPaymentSolutionSDK07OctopusB0C16processResultUrlySb10Foundation3URLVFTj", referenced from:
"$s11EightPaySDK4UnitC9handelUrlyy10Foundation3URLVF in libEightPaySDK.a(Unit.o)
"$s11EightPaySDK4UnitC9handelUrlyy10Foundation3URLVFTo in libEightPaySDK.a(Unit.o)
"_$s28IntegratedPaymentSolutionSDK07OctopusB0C6apiUrl06resultG0ACSS*SStcfc", referenced from:
"$s11EightPaySDK4UnitC05beginB0yySo12NSDictionaryCF in libEightPaySDK.a(Unit.o)
"_$s28IntegratedPaymentSolutionSDK0B0C3pay_8callbackySS_AA0B14ResultCallback*ptFTj", referenced from:
"$s11EightPaySDK4UnitC05beginB0yySo12NSDictionaryCF in libEightPaySDK.a(Unit.o)
"_$s28IntegratedPaymentSolutionSDK0B14ResultCallbackP9onFailureyyAA0bE0CFTq", referenced from:
l_got.$s28IntegratedPaymentSolutionSDK0B14ResultCallbackP9onFailureyyAA0bE0CFTq in libEightPaySDK.a(Unit.o)
"_$s28IntegratedPaymentSolutionSDK0B14ResultCallbackP9onSuccessyyAA0bE0CFTq", referenced from:
l_got.$s28IntegratedPaymentSolutionSDK0B14ResultCallbackP9onSuccessyyAA0bE0CFTq in libEightPaySDK.a(Unit.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
note: Disabling previews because SWIFT_VERSION is set and SWIFT_OPTIMIZATION_LEVEL=-O, expected -Onone (in target 'HBuilder' from project 'HBuilder')
warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'HBuilder' from project 'HBuilder')
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
{ platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:00008112-001214A41AFB401E, name:My Mac }
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
{ platform:iOS Simulator, id:9792BF79-55A3-464B-BCC4-8FC5553530ED, OS:18.1, name:iPhone 16 }
{ platform:iOS Simulator, id:9792BF79-55A3-464B-BCC4-8FC5553530ED, OS:18.1, name:iPhone 16 }
{ platform:iOS Simulator, id:FAC75CB8-1EC1-4FB5-8324-EE9A612ECB9B, OS:18.1, name:iPhone 16 Plus }
{ platform:iOS Simulator, id:FAC75CB8-1EC1-4FB5-8324-EE9A612ECB9B, OS:18.1, name:iPhone 16 Plus }
{ platform:iOS Simulator, id:AB6D4465-81D1-4AF2-985E-F2A1C9B6C2F8, OS:18.1, name:iPhone 16 Pro }
{ platform:iOS Simulator, id:AB6D4465-81D1-4AF2-985E-F2A1C9B6C2F8, OS:18.1, name:iPhone 16 Pro }
{ platform:iOS Simulator, id:511D2F9C-27B8-4D6D-9286-680201248FA4, OS:18.1, name:iPhone 16 Pro Max }
{ platform:iOS Simulator, id:511D2F9C-27B8-4D6D-9286-680201248FA4, OS:18.1, name:iPhone 16 Pro Max }
{ platform:iOS Simulator, id:0AC78C3F-3568-4E22-BF08-AA07F1DDA01F, OS:18.1, name:iPhone SE (3rd generation) }
{ platform:iOS Simulator, id:0AC78C3F-3568-4E22-BF08-AA07F1DDA01F, OS:18.1, name:iPhone SE (3rd generation) }
项目信息
项目信息 | 详细信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | win11 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.64 |
手机系统 | iOS |
手机系统版本号 | iOS 18 |
手机厂商 | 苹果 |
手机机型 | iPhone 11 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
更多关于因为bitcode问题 升级uni-app插件sdk后ios云打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html
打包失败是因为缺失依赖库,请联系插件作者排查确认,关键错误信息:
Undefined symbols for architecture arm64:
“_$s28IntegratedPaymentSolutionSDK07OctopusB0C02isE10AppInstallSbyFTj”, referenced from:
$s11EightPaySDK4UnitC05beginB0yySo12NSDictionaryCF in libEightPaySDK.a(Unit.o)
"$s28IntegratedPaymentSolutionSDK07OctopusB0C02isE9ResultUrlySb10Foundation3URLVFTj", referenced from:
_$s11EightPaySDK4UnitC9handelUrlyy10Foundation3URLVF in libEightPaySDK.a(Unit.o)
$s11EightPaySDK4UnitC9handelUrlyy10Foundation3URLVFTo in libEightPaySDK.a(Unit.o)
"$s28IntegratedPaymentSolutionSDK07OctopusB0C16processResultUrlySb10Foundation3URLVFTj", referenced from:
$s11EightPaySDK4UnitC9handelUrlyy10Foundation3URLVF in libEightPaySDK.a(Unit.o)
$s11EightPaySDK4UnitC9handelUrlyy10Foundation3URLVFTo in libEightPaySDK.a(Unit.o)
"$s28IntegratedPaymentSolutionSDK07OctopusB0C6apiUrl06resultG0ACSS_SStcfc", referenced from:
$s11EightPaySDK4UnitC05beginB0yySo12NSDictionaryCF in libEightPaySDK.a(Unit.o)
"$s28IntegratedPaymentSolutionSDK0B0C3pay_8callbackySS_AA0B14ResultCallback_ptFTj", referenced from:
$s11EightPaySDK4UnitC05beginB0yySo12NSDictionaryCF in libEightPaySDK.a(Unit.o)
"$s28IntegratedPaymentSolutionSDK0B14ResultCallbackP9onFailureyyAA0bE0CFTq", referenced from:
l_got.$s28IntegratedPaymentSolutionSDK0B14ResultCallbackP9onFailureyyAA0bE0CFTq in libEightPaySDK.a(Unit.o)
"$s28IntegratedPaymentSolutionSDK0B14ResultCallbackP9onSuccessyyAA0bE0CFTq", referenced from:
l_got.$s28IntegratedPaymentSolutionSDK0B14ResultCallbackP9onSuccessyyAA0bE0CFTq in libEightPaySDK.a(Unit.o)
更多关于因为bitcode问题 升级uni-app插件sdk后ios云打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html
从错误日志来看,这是典型的iOS链接器错误,主要问题出在支付插件SDK的架构支持上。以下是关键点分析:
-
核心错误是
symbol(s) not found for architecture arm64
,表明支付SDK缺少对arm64架构的支持 -
具体缺失的符号都来自
IntegratedPaymentSolutionSDK
和EightPaySDK
这两个支付相关的库 -
可能原因:
- 升级后的SDK版本不兼容
- 缺少必要的依赖库
- Bitcode编译选项冲突
建议解决方案:
-
检查manifest.json中配置的支付模块版本是否与SDK版本匹配
-
确认插件市场最新版SDK是否明确支持iOS arm64架构
-
尝试在manifest.json的iOS配置中添加:
"bitcode": false