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

如何为Axmol iOS项目集成Firebase?遇SPM验证停滞等问题

Axmol iOS项目集成Firebase的解决方案

问题背景

在Axmol游戏引擎iOS项目中集成Firebase时遇到以下卡点:

  • 尝试通过CMake引入xcframework失败,因为firebase-ios-sdk官方未提供现成xcframework
  • Xcode中通过Swift Package Manager(SPM)添加Firebase仓库时,卡在「preparing to validate」无进度(非Axmol项目可正常执行)
  • 使用firebase-cpp-sdk(firebase-ios-sdk的包装器)虽能完成添加,但仍依赖firebase-ios-sdk,且官方下载链接失效

可行解决方案

方案一:自行构建Firebase iOS SDK的xcframework

  1. 克隆firebase-ios-sdk仓库到本地
    git clone https://github.com/firebase/firebase-ios-sdk.git
    cd firebase-ios-sdk
    
  2. 安装构建依赖(需提前安装Homebrew)
    brew install cmake python3
    
  3. 执行官方构建脚本生成xcframework
    脚本会自动编译真机(arm64)和模拟器(arm64/x86_64)架构的框架,最终生成xcframework文件:
    ./build.sh build_all_xcframeworks --no-swift-package-manager
    
    生成的xcframework会存放在firebase-ios-sdk/Build目录下。
  4. 在Axmol项目中通过CMake引入
    编辑项目的CMakeLists.txt,添加导入和链接配置,示例:
    # 导入FirebaseCore模块
    add_library(FirebaseCore STATIC IMPORTED)
    set_target_properties(FirebaseCore PROPERTIES
        IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/FirebaseCore.xcframework/ios-arm64/FirebaseCore.framework"
        IMPORTED_LOCATION_SIMULATOR "${CMAKE_CURRENT_SOURCE_DIR}/FirebaseCore.xcframework/ios-arm64_x86_64-simulator/FirebaseCore.framework"
    )
    # 链接到项目目标
    target_link_libraries(YourProjectName PRIVATE FirebaseCore)
    
    按需替换YourProjectName和xcframework的实际路径,同时添加其他需要的Firebase模块(如FirebaseAnalytics、FirebaseAuth等)。

方案二:手动导入Firebase预编译框架

  1. 获取官方预编译框架:通过Firebase控制台项目设置的「添加应用」流程下载,或直接从firebase-ios-sdk的GitHub Releases页面下载对应版本的压缩包。
  2. 拖入Xcode项目:解压后将所需的.framework文件拖入Axmol项目的Xcode工程中,勾选「Copy items if needed」和对应目标。
  3. 配置CMake链接:在CMakeLists.txt中添加框架链接逻辑:
    find_library(FIREBASE_CORE FirebaseCore)
    target_link_libraries(YourProjectName PRIVATE ${FIREBASE_CORE})
    
  4. 导入配置文件:将Firebase控制台下载的GoogleService-Info.plist添加到项目中,确保Xcode能识别到该文件。

方案三:修复SPM集成卡壳问题

如果偏好使用SPM,尝试以下步骤解决「preparing to validate」卡顿:

  1. 清理Xcode缓存:
    rm -rf ~/Library/Caches/org.swift.swiftpm
    rm -rf ~/Library/Developer/Xcode/DerivedData
    
    重启Xcode后重新尝试添加包。
  2. 指定具体版本:添加包时,不要选择「Up to Next Major Version」,直接输入稳定版本号(如10.18.0),减少版本解析耗时。
  3. 启用SPM支持生成Xcode项目:
    axmol build -p ios -a arm64 -sdk simulator -c -DENABLE_SPM=ON
    
    生成项目后再尝试添加Firebase仓库。

内容的提问来源于stack exchange,提问作者Peter Andela

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 05:43:16