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
使用 -force_load
您使用的每个框架的标志。 3个月前我面临同样的问题。
我已经能够获得围绕它通过以下:http://*.com/questions/41217839/duplicate-symbols-when-integrating-firebase-and-google-sign-in-sdks-manually-wit。我会尝试强制加载,看看它是怎么回事.. – Manish
@Manish,我会建议我自己的解决方案http://*.com/a/40437973/1979882 – Vyacheslav
我试图使用您建议的链接添加力加载标志..这是我添加的:$(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
什么是确切的错误信息? –
我在帖子中添加了错误信息.. – Manish
GoogleSignInDependencies.framework不是GoogleSignIn的依赖项 - https://github.com/CocoaPods/Specs/blob/master/Specs/d/4/0/GoogleSignIn/4.0。 2/GoogleSignIn.podspec.json - 它是从哪里来的? –