You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift XCFramework编译报错:arm64架构下提示找不到Firebase模块

排查ABCSDK.xcframework导入时的Firebase模块缺失问题

错误信息

arm64-apple-ios.private.swiftinterface

arm64-apple-ios.private.swiftinterface:19:8 No such module 'Firebase'

Failed to build module ‘ABCSDK' for importation due to the errors above; the textual interface may be broken by project issues or a compiler bug


排查步骤

1. 检查ABCSDK的依赖打包逻辑

  • 你的SDK私有接口文件(.private.swiftinterface)明确引用了Firebase,说明SDK编译阶段依赖Firebase,但打包xcframework时未正确处理该依赖。仅移除客户端Pods的Firebase无意义,因为SDK本身需要这个模块才能正常解析接口。
  • 确认SDK项目Build Settings:
    • 设ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES为YES
    • 确保FRAMEWORK_SEARCH_PATHS包含Firebase框架路径
    • 若SDK静态依赖Firebase,需确认编译时已将Firebase符号静态链接到SDK中;若为动态依赖,客户端必须同步导入对应版本的Firebase框架。

2. 验证xcframework内部结构

  • 执行终端命令查看xcframework的架构和内容:
    xcrun xcframework info ABCSDK.xcframework
    
  • 检查输出是否包含Firebase相关模块或符号,若缺失则说明打包时遗漏了依赖,需重新归档SDK。

3. 调整客户端项目依赖配置

  • 重新在客户端通过Pods引入Firebase,必须保证版本与SDK编译时使用的Firebase版本完全一致,避免版本不兼容导致模块找不到。
  • 确认客户端项目的FRAMEWORK_SEARCH_PATHS、HEADER_SEARCH_PATHS已包含Firebase路径,OTHER_SWIFT_FLAGS无冲突配置。

4. 处理Xcode 14.1特定问题

  • 清理构建缓存:执行Cmd+Shift+K清理项目,删除~/Library/Developer/Xcode/DerivedData目录下的对应项目缓存,重新构建。
  • 确认SDK归档时的配置:必须使用Release配置,且BUILD_LIBRARY_FOR_DISTRIBUTION设为YES,该选项会生成规范的.swiftinterface文件,避免接口损坏。

5. 重新打包xcframework

  • 严格按照以下流程重新生成xcframework,确保依赖正确嵌入:
    # 归档真机版本
    xcodebuild archive -scheme ABCSDK -destination "generic/platform=iOS" -archivePath "./ABCSDK-iOS.xcarchive" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES
    # 归档模拟器版本
    xcodebuild archive -scheme ABCSDK -destination "generic/platform=iOS Simulator" -archivePath "./ABCSDK-iOSSimulator.xcarchive" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES
    # 生成xcframework
    xcodebuild -create-xcframework -framework "./ABCSDK-iOS.xcarchive/Products/Library/Frameworks/ABCSDK.framework" -framework "./ABCSDK-iOSSimulator.xcarchive/Products/Library/Frameworks/ABCSDK.framework" -output "./ABCSDK.xcframework"
    
  • 打包完成后再次检查xcframework内部是否包含Firebase相关依赖符号。

内容的提问来源于stack exchange,提问作者Yuvaraj.M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 16:10:27