🍎

[小ネタ] Package.swift で FirebaseAnalyticsWithoutAdId を追加しようとして詰まった

2024/03/28に公開

経緯

今年こそは個人アプリつくるぞーと思い、SwiftPM でマルチモジュール化して、まっさらな状態のアプリにFirebaseを追加しようとしました。

セットアップウィザードにしたがって進めていると、
FirebaseAnalyticsを追加してね。もしIDFA収集不要ならFirebaseAnalyticsWithoutAdIdを追加してね」とのこと。

IDFA収集は不要なので、FirebaseAnalyticsWithoutAdIdを追加しよっと

Package.swift
import PackageDescription

let package = Package(
    // ...
    dependencies: [
        // 追加
        .package(
            url: "https://github.com/firebase/firebase-ios-sdk",
            exact: "10.23.0"
        ),
    ],
    targets: [
        .target(
            name: "SampleTarget",
            dependencies: [
                // 追加
                .product(
                    name: "FirebaseAnalyticsWithoutAdId",
                    package: "firebase-ios-sdk"
                ),
            ]
        ),
    ]
)

するとこんなエラーメッセージが。

product 'FirebaseAnalyticsWithoutAdId' required by package 'sample' target 'SampleTarget' not found in package 'firebase-ios-sdk'. Did you mean 'FirebaseAnalyticsSwiftTarget'?

あれ、FirebaseAnalyticsWithoutAdIdって無いの...?

さっそく解決

試しに File > Add Package Dependencies...からfirebase-ios-sdkを追加しようとすると出てきました。
FirebaseAnalyticsWithoutAdIdではなくFirebaseAnalyticsWithoutAdIdSupportが正しい名前のようです。

先ほどのこのセクションを

Package.swift
.product(
    name: "FirebaseAnalyticsWithoutAdId",
    package: "firebase-ios-sdk"
),

こう変えたら通りました。

Package.swift
.product(
    name: "FirebaseAnalyticsWithoutAdIdSupport",
    package: "firebase-ios-sdk"
),

Discussion