iOS AdMob Analytics与Firebase的集成问题

iOS AdMob Analytics与Firebase的集成问题

问题描述:

我有一个现有的迦太基项目,它使用AWS并且它是用Swift编写的。我已经集成了Google SignIn(v4.0.1),并且它可以工作。 我最近还添加了AdMob(通过手动SDK安装),我可以看到广告。 现在,AdMob控制台建议添加Firebase Analytics,我正在尝试。我下载了Firebase SDK并按照自述文件中的步骤操作: - 在我的项目中复制了Firebase Analytics框架(未嵌入) - 已添加-ObjC标记 - 已复制Firebase.h - 已复制module.map和已更新标题搜索路径iOS AdMob Analytics与Firebase的集成问题

当我构建项目时,我得到了26个与GoogleSignInDependencies.framework(通过Google SignIn添加)和GoogleToolboxForMac.framework(通过Firebase)之间的重复符号有关的错误..所有这些都与GTMLogger相关。

我搜索论坛,看到这可以解决,如果使用Cocoapods ..但这不可能在我的情况。有没有其他方法可以解决这个问题?或者,我应该使用Google Analytics代替Firebase吗?

问候, 马尼什

这里的错误消息:


duplicate symbol _OBJC_CLASS_$_GTMLogStandardFormatter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_METACLASS_$_GTMLogStandardFormatter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_CLASS_$_GTMLogBasicFormatter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_METACLASS_$_GTMLogBasicFormatter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_CLASS_$_GTMLogNoFilter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_METACLASS_$_GTMLogNoFilter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_CLASS_$_GTMLogMininumLevelFilter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_METACLASS_$_GTMLogMininumLevelFilter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_CLASS_$_GTMLogMaximumLevelFilter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_METACLASS_$_GTMLogMaximumLevelFilter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_CLASS_$_GTMLogLevelFilter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_METACLASS_$_GTMLogLevelFilter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_CLASS_$_GTMLogAllowedLevelFilter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_METACLASS_$_GTMLogAllowedLevelFilter in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_CLASS_$_GTMLogger in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_METACLASS_$_GTMLogger in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_IVAR_$_GTMLogLevelFilter.userDefaults_ in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_IVAR_$_GTMLogAllowedLevelFilter.allowedLevels_ in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_IVAR_$_GTMLogger.formatter_ in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_IVAR_$_GTMLogStandardFormatter.dateFormatter_ in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_IVAR_$_GTMLogger.filter_ in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_IVAR_$_GTMLogger.writer_ in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_IVAR_$_GTMLogStandardFormatter.pname_ in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_IVAR_$_GTMLogStandardFormatter.pid_ in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _OBJC_IVAR_$_GTMLogLevelFilter.verboseLoggingEnabled_ in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMLogger_1d87861920ce748f18c427633f13fd22.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMLogger_e66760ac68814bab22c3e6b0850da5e6.o) 
duplicate symbol _GTMNSDictionaryURLArgumentsExportToSuppressLibToolWarning in: 
    ----/GoogleToolboxForMac.framework/GoogleToolboxForMac(GTMNSDictionary+URLArguments_cd571689d060290c6282e8a67c43d536.o) 
    ----/GoogleSignInDependencies.framework/GoogleSignInDependencies(GTMNSDictionary+URLArguments_7a10c227900104c35b53fbebbbcb25cb.o) 
ld: 26 duplicate symbols for architecture x86_64 


选项二:使用 “力载荷” 标志

这里的堆栈跟踪,如果我增加 “动力荷载”选项:



Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSBundle gid_frameworkBundle]: unrecognized selector sent to class 0x10dc5e220' 
*** First throw call stack: 
(
    0 CoreFoundation      0x000000010f2e6d4b __exceptionPreprocess + 171 
    1 libobjc.A.dylib      0x000000010de0021e objc_exception_throw + 48 
    2 CoreFoundation      0x000000010f356e44 +[NSObject(NSObject) doesNotRecognizeSelector:] + 132 
    3 CoreFoundation      0x000000010f26c005 ___forwarding___ + 1013 
    4 CoreFoundation      0x000000010f26bb88 _CF_forwarding_prep_0 + 120 
    5 StockTracker      0x000000010c54adac +[GIDSignInStrings localizedStringForKey:text:] + 69 
    6 StockTracker      0x000000010c549c2e -[GIDSignInButton buttonText] + 68 
    7 StockTracker      0x000000010c548db6 -[GIDSignInButton minWidth] + 74 
    8 StockTracker      0x000000010c5490a6 -[GIDSignInButton sizeThatFits:] + 52 
    9 StockTracker      0x000000010c548b5b -[GIDSignInButton setFrame:] + 37 
    10 UIKit        0x0000000110ff4abd UIViewCommonInitWithFrame + 1395 
    11 UIKit        0x0000000110ff4dc6 -[UIView initWithCoder:] + 471 
    12 UIKit        0x00000001110e6fe2 -[UIControl initWithCoder:] + 66 
    13 StockTracker      0x000000010c548652 -[GIDSignInButton initWithCoder:] + 64 

+0

什么是确切的错误信息? –

+0

我在帖子中添加了错误信息.. – Manish

+0

GoogleSignInDependencies.framework不是GoogleSignIn的依赖项 - https://github.com/CocoaPods/Specs/blob/master/Specs/d/4/0/GoogleSignIn/4.0。 2/GoogleSignIn.podspec.json - 它是从哪里来的? –

使用 -force_load您使用的每个框架的标志。 3个月前我面临同样的问题。

+0

我已经能够获得围绕它通过以下:http://*.com/questions/41217839/duplicate-symbols-when-integrating-firebase-and-google-sign-in-sdks-manually-wit。我会尝试强制加载,看看它是怎么回事.. – Manish

+0

@Manish,我会建议我自己的解决方案http://*.com/a/40437973/1979882 – Vyacheslav

+0

我试图使用您建议的链接添加力加载标志..这是我添加的:$(OTHER_LDFLAGS)-force_load GoogleMobileAds.framework/GoogleMobileAds -force_load FirebaseAnalytics.framework/FirebaseAnalytics -force_load FirebaseCore.framework/FirebaseCore -force_load GoogleToolboxForMac.framework/GoogleToolboxForMac -force_load FirebaseInstanceID.framework/FirebaseInstanceID。它建立但在发射时崩溃 – Manish