MAUI项目构建报错:arm64架构下NativeLibraryInterop符号未定义
解决MAUI主项目构建时NativeLibraryInterop Firebase相关的Undefined Symbols错误
针对你遇到的iOS arm64架构下OBJC_CLASS$_MauiFIRApp未定义符号错误,可按以下步骤排查解决:
1. 确认NativeLibraryInterop项目的输出被主项目正确引用
- 检查主项目的项目引用,确保已添加NativeLibraryInterop项目的引用,且设置为复制本地(在引用属性里确认
Copy Local为True)。 - 对于iOS平台,确保NativeLibraryInterop项目生成的
.a静态库或.framework框架被正确包含在主项目的iOS资源中。
2. 验证Firebase依赖库的链接配置
- 在MAUI主项目的iOS平台配置(
Platforms/iOS/Info.plist或项目属性的iOS构建选项)中,确认已添加Firebase所需的系统框架和库,比如FirebaseCore.framework等(根据你使用的Firebase模块调整)。 - 在主项目的
Platforms/iOS/CustomLinkerFlags中添加必要的链接标记,比如-ObjC(强制链接Objective-C类和分类,避免符号被优化掉),具体可在项目属性的iOS构建 -> 额外链接器参数中添加:-ObjC
3. 检查NativeLibraryInterop的绑定代码
- 确认
MauiFIRApp类的绑定定义正确,类名、方法签名与实际Firebase SDK的类完全匹配,无拼写错误。 - 确保绑定项目中已正确导入Firebase的头文件,比如在
.h文件中添加:#import <FirebaseCore/FirebaseCore.h>
4. 清理并重新构建
- 清理整个解决方案:右键解决方案 -> 清理。
- 删除MAUI项目的bin和obj目录,以及NativeLibraryInterop项目的输出目录。
- 先重新构建NativeLibraryInterop项目,再构建主项目。
5. 确认iOS架构设置一致
- 确保NativeLibraryInterop项目和主项目的iOS架构设置相同,都包含arm64(在项目属性的iOS构建 -> 架构中选择
ARM64或Universal)。
内容的提问来源于stack exchange,提问作者tonyedwardspz
相关产品推荐
相关产品推荐

