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

开发对接Firestore的内部NPM,SPM集成Firebase SDK后无法使用

解决SPM引入Firebase SDK后无法调用的问题

你的问题出在两个核心配置错误:主Target未关联具体Firebase子模块,以及测试Target的依赖指向错误,按以下步骤修正即可:

1. 给主Target绑定Firebase模块

仅在Package层面添加Firebase SDK依赖是不够的,需要在具体Target的dependencies里明确指定要用到的Firebase子模块(比如你需要的Firestore)。

2. 修正测试Target的依赖

测试Target应该依赖你的主模块FCM,而不是自身FCMTest,否则无法调用主模块的代码。

修改后的完整Package.swift代码

import PackageDescription

let package = Package(
    name: "FCM",
    platforms: [.iOS(.v16)],
    products: [
        .library(
            name: "FCM",
            targets: ["FCM"]),
    ],
    dependencies: [
        .package(url: "https://github.com/firebase/firebase-ios-sdk", .upToNextMinor(from: "9.6.0")),
    ],
    targets: [
        .target(
            name: "FCM",
            dependencies: [
                // 绑定Firestore子模块
                .product(name: "FirebaseFirestore", package: "firebase-ios-sdk")
            ]),
        .testTarget(
            name: "FCMTest",
            // 修正测试依赖为你的主模块
            dependencies: ["FCM"]),
    ]
)

验证使用

修改完成后,在FCM模块的代码里就可以正常导入并使用Firestore了:

import FirebaseFirestore

// 示例调用
let db = Firestore.firestore()

内容的提问来源于stack exchange,提问作者Roman Gorbatko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:22:52