uni-app 3.1.12版本引入离线打包后 liblibCamera.a 真机编译不通过
uni-app 3.1.12版本引入离线打包后 liblibCamera.a 真机编译不通过
操作步骤:
- 引入最新的离线打包SDK(3.1.12.80425_20210428)
预期结果:
- 编译通过
实际结果:
- 编译报错
- “_vImageBoxConvolve_ARGB8888”, referenced from:
- -[UIImage(LFMECommon) LFME_transToBlurLevel:] in liblibCamera.a(UIImage+LFMECommon.o)
- “_vImageMatrixMultiply_ARGB8888”, referenced from:
- -[UIImage(LFMECommon) LFME_transToBlurLevel:] in liblibCamera.a(UIImage+LFMECommon.o)
- “_vImageBoxConvolve_ARGB8888”, referenced from:
bug描述:
- 引入最新的离线打包SDK,编译时liblibCamera.a报错,提示如下信息:
- Undefined symbols for architecture arm64:
- “_vImageBoxConvolve_ARGB8888”, referenced from:
- -[UIImage(LFMECommon) LFME_transToBlurLevel:] in liblibCamera.a(UIImage+LFMECommon.o)
- “_vImageMatrixMultiply_ARGB8888”, referenced from:
- -[UIImage(LFMECommon) LFME_transToBlurLevel:] in liblibCamera.a(UIImage+LFMECommon.o)
- “_vImageBoxConvolve_ARGB8888”, referenced from:
- ld: symbol(s) not found for architecture arm64
- clang: error: linker command failed with exit code 1 (use -v to see invocation)
- Undefined symbols for architecture arm64:
更多关于uni-app 3.1.12版本引入离线打包后 liblibCamera.a 真机编译不通过的实战教程也可以访问 https://www.itying.com/category-93-b0.html
9 回复
你是拿新的SDK 覆盖 还是纯新的SDK 工程
更多关于uni-app 3.1.12版本引入离线打包后 liblibCamera.a 真机编译不通过的实战教程也可以访问 https://www.itying.com/category-93-b0.html
新的SDK覆盖的
对照表格,framework和资源都已经引入了
回复 天生DR: 确定替换了,还是跟之前一样
回复 JDBeer: 官方Demo Hello-Uni 能跑吗?
回复 天生DR: 官方的能跑,应该是我代码的问题,我再检查一下
回复 JDBeer: 好的
这是一个典型的链接器错误,表明在编译过程中缺少必要的系统框架依赖。liblibCamera.a 中使用了 Accelerate.framework 中的图像处理函数,但项目配置中未正确链接该框架。
解决方案:
-
在 Xcode 项目中添加 Accelerate.framework 依赖
- 打开 iOS 原生工程
- 选择 Target → General → Frameworks, Libraries, and Embedded Content
- 点击 “+” 按钮,搜索并添加 Accelerate.framework
- 确保该框架的 Embed 设置为 “Do Not Embed”
-
如果使用 CocoaPods 管理依赖,可在 Podfile 中添加:
pod 'Accelerate'


