Error in install firebase analytics in XcodeGen

1.9k views Asked by At

I'm using XcodeGen and tried to install firebase analytics. here the framework part on my project file

 3Party:
    type: framework
    platform: iOS
    settings:
      SWIFT_INCLUDE_PATHS: 3Party
      OTHER_LDFLAGS: $(inherited) -framework FirebaseAnalytics -framework FirebaseInstanceID -framework GoogleUtilities -framework FirebaseCore -framework FirebaseMessaging  -framework GoogleAppMeasurement -framework nanopb -framework Protobuf
      FRAMEWORK_SEARCH_PATHS: $(inherited) $(PROJECT_DIR)/Vendor/DropInSDKs/Frameworks/**
    configFiles:
      Debug: Configuration/Framework-iOS.xcconfig
      Release: Configuration/Framework-iOS.xcconfig
    sources:
      - path: PIA3P
        name: "3Party: Logic"
    dependencies:
      - target: Foundation

As soon as I add -framework FirebaseAnalytics I get these errors

    Undefined symbols for architecture x86_64:
  "_APMAnalyticsConfiguration", referenced from:
      +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_bb9eb7907bdd4d4928ec5095098228ae.o)
  "_APMAppMeasurementOriginFirebase", referenced from:
      +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_bb9eb7907bdd4d4928ec5095098228ae.o)
  "_APMConsentSettings3P", referenced from:
      +[FIRAnalytics setConsent:] in FirebaseAnalytics(FIRAnalytics_bb9eb7907bdd4d4928ec5095098228ae.o)
  "_APMIsAnalyticsCollectionDeactivated", referenced from:
      +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_bb9eb7907bdd4d4928ec5095098228ae.o)
  "_APMIsAnalyticsCollectionEnabled", referenced from:
      +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_bb9eb7907bdd4d4928ec5095098228ae.o)
  "_APMMonitorLogTagOptionKey", referenced from:
      +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_bb9eb7907bdd4d4928ec5095098228ae.o)
  "_APMSafelistedEventsOptionKey", referenced from:
      +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics_bb9eb7907bdd4d4928ec5095098228ae.o)
  "_FIRFirebaseVersion", referenced from:
      +[FIRAnalytics topLevelVersion] in FirebaseAnalytics(FIRAnalytics_bb9eb7907bdd4d4928ec5095098228ae.o)
  "_FIRInstallationIDDidChangeNotification", referenced from:
      +[FIRAnalytics observeFirebaseInstallationIDChanges] in FirebaseAnalytics(FIRAnalytics_bb9eb7907bdd4d4928ec5095098228ae.o)
  "_OBJC_CLASS_$_FIRInstallations", referenced from:
      objc-class-ref in FirebaseAnalytics(FIRAnalytics_bb9eb7907bdd4d4928ec5095098228ae.o)
  "_OBJC_CLASS_$_SKPaymentQueue", referenced from:
      objc-class-ref in GoogleAppMeasurement(APMAnalytics_8b8a060bbe8023e2a8dc40576f3452ac.o)
  "_OBJC_CLASS_$_SKProductsRequest", referenced from:
      objc-class-ref in GoogleAppMeasurement(APMProductsRequest_769d88c7ff80f19356bd57d9fa02e637.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Could anyone help me on this? Your help will be appreciated.

1

There are 1 answers

0
Vlad On
  1. Download Firebase SDKs from https://firebase.google.com/docs/ios/setup#frameworks
  2. Copy needed SDKs to some directory, e.g. Frameworks/
  3. Use this template:
targets:
  FirebaseWrapper:
    type: framework
    platform: iOS
    transitivelyLinkDependencies: true
    requiresObjCLinking: true
    info:
      path: info.plist
    sources:
      - src
    settings:
      ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: true
      OTHER_LDFLAGS: $(inherited) -ObjC
    dependencies:
      - sdk: libc++.tbd
      - sdk: libsqlite3.tbd
      - sdk: Storekit.framework
      - sdk: SystemConfiguration.framework
      
      # Firebase Analytics
      - {embed: false, framework: Frameworks/FirebaseAnalytics/FIRAnalyticsConnector.framework}
      - {embed: false, framework: Frameworks/FirebaseAnalytics/FirebaseAnalytics.framework}
      - {embed: false, framework: Frameworks/FirebaseAnalytics/FirebaseCore.xcframework}
      - {embed: false, framework: Frameworks/FirebaseAnalytics/FirebaseCoreDiagnostics.xcframework}
      - {embed: false, framework: Frameworks/FirebaseAnalytics/FirebaseInstallations.xcframework}
      - {embed: false, framework: Frameworks/FirebaseAnalytics/GoogleAppMeasurement.framework}
      - {embed: false, framework: Frameworks/FirebaseAnalytics/GoogleDataTransport.xcframework}
      - {embed: false, framework: Frameworks/FirebaseAnalytics/GoogleUtilities.xcframework}
      - {embed: false, framework: Frameworks/FirebaseAnalytics/nanopb.xcframework}
      - {embed: false, framework: Frameworks/FirebaseAnalytics/PromisesObjC.xcframework}
      
      # Firebase Messaging
      - {embed: false, framework: Frameworks/FirebaseMessaging/FirebaseInstanceID.xcframework}
      - {embed: false, framework: Frameworks/FirebaseMessaging/FirebaseMessaging.xcframework}
      
      # Firebase Crashlytics
      - {embed: false, framework: Frameworks/FirebaseCrashlytics/FirebaseCrashlytics.xcframework}