iOS Native + Flutter混编使用Scan插件错误:Undefined symbol: _OBJC_CLASS_$_ScanPlugin

岁数大了,记忆力不好,特记录下来已备后查~
记录时间:2022/7/1

事故现场

Xcode版本:Version 13.4 (13F17a)
项目使用 New Build System 编译

Flutter版本:
Flutter 3.0.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision fb57da5f94 (6 weeks ago) • 2022-05-19 15:50:29 -0700
Engine • revision caaafc5604
Tools • Dart 2.17.1 • DevTools 2.12.2

问题描述

项目是Flutter + iOS Native 混编的;
在flutter项目中引用了 scan 插件;
dart代码更新后,在Native APP 项目中进行pod install,然后build native App,系统报错:

Showing Recent Messages
Undefined symbol: OBJC_CLASS$_ScanPlugin

解决方案

(1)在Native APP的target 中,设置Excluded Architectures, 在Debug模式中设置:

Any iOS Simulator SDK 为 : arm64
意思是在模拟器运行项目的时候,不要包含 arm64的架构;

3541656634174_.pic.jpg

(2)在APP的Pod项目的target中进行同样的设置;

3551656634370_.pic.jpg

(3)在 Native APP 项目中引用的 Pod项目的Development Pods 中找到 scan 插件项目,设置项目应的Excluded Architectures

设置方法:
在Native的Pod项目中,找到scan插项目,scan > Support Files > scan.debug,
然后打开scan.debug文件,在文件中找到:EXCLUDED_ARCHS[sdk=iphonesimulator*] 这个配置项,设置为 arm64,意思是在模拟器运行项目的时候,不要包含 arm64的架构;

设置完成后重新build Native 项目,build success,bingo~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容