3

我正在使用XcodeGen并尝试安装firebase analytics. 这里是我的项目文件中的框架部分

 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

一旦我添加 -framework FirebaseAnalytics 我就会收到这些错误

    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)

有人可以帮我吗?您的帮助将不胜感激。

4

1 回答 1

0
  1. 从https://firebase.google.com/docs/ios/setup#frameworks下载 Firebase SDK
  2. 将所需的 SDK 复制到某个目录,例如Frameworks/
  3. 使用此模板:
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}
于 2020-11-24T10:18:22.097 回答