我已经在我的应用程序中使用了GoogleOpenSource.framework来集成Google+。现在我想用Google Tag Manager添加Firebase Analytics。为了做到这一点,它需要包含GoogleToolboxForMac.framework。现在my同时包含GoogleToolboxForMac和GoogleOpenSource框架。问题是两个框架都有GTMLogger类,所以项目无法编译。它给了我们
duplicate symbol _OBJC_METACLASS_$_GTMLogAllowedLevelFilter我尝试从其中一个框架中删除GTMLogger类,但无法完成。我应该怎么做才能克服这个问题呢?
发布于 2017-06-23 14:03:09
这回答了那些使用手动集成来添加Firebase的人,
我也面临着同样的问题,google+和Firebase analytics都有相同的文件GTMLogger,我们不能将其从框架中删除,相反,我们需要检查Google plus集成see thisStep 2.(in point 4) Initialize the Google+ Client,他们已经提到If your project already includes some of the open source files, you can instead include the remaining files from the OpenSource folder.做到了这一点。
由于GTMLogger存在于GoogleToolboxForMac.framework中,我们不需要添加这个,所以删除Google plus的GoogleOpenSource.framework框架并添加open source中的文件,不要包含新下载的google+框架文件夹中的GTMLogger.m和GTMLogger.h文件,并删除此框架的所有imports,这可能会给出一些错误,如下面的代码行
[GPPSignIn sharedInstance].scopes = @[kGTLAuthScopePlusLogin]; //error 只需在kGTLAuthScopePlusLogin上使用command click,然后导入#import "GTLPlusConstants.h"的.h文件。
希望这能有所帮助
https://stackoverflow.com/questions/42152232
复制相似问题