2

,而我需要实施火力地堡+谷歌代码管理在我的iOS应用Google分析。的iOS应用程序崩溃,被载入Google标记容器

我用最新版本安装了Google标记和火力地堡/核心荚试图在空白的iOS项目POC。 POC工作正常,我可以发送事件并将事件记录到服务器上的GA中。但是,当我安装GTM和Firebase/Core与最新版本,相同的GoogleServices-info.plist,相同的GTM-XXXXXXX.json,我发现我的应用程序崩溃,我可以看到“GoogleTagManager info:加载容器:GTM -XXXXXXX“作为我控制台中的最后一行。

Removing GoogleInterchangeUtilities 
Downloading dependencies 
Installing Firebase 4.3.0 (was 3.7.1) 
Installing FirebaseAnalytics 4.0.4 (was 3.4.4) 
Installing FirebaseCore 4.0.8 (was 3.4.3) 
Installing FirebaseInstanceID 2.0.4 (was 1.0.9) 
Using GoogleAnalytics (3.17.0) 
Using GoogleSymbolUtilities (1.1.2) 
Installing GoogleTagManager 6.0.0 (was 5.0.8) 
Installing GoogleToolboxForMac (2.1.3) 
Using GoogleUtilities (1.3.2) 
Installing nanopb (0.3.8) 

当我删除Google标记并只保留FirebaseAnalytics,应用程序运行良好和火力地堡Analytics(分析)正在接受服务器上的事件。

通过不同论坛上的不同线程和堆栈溢出,我尝试将GTM和Firebase降级为GoogleTagManager -v5.0.8和Firebase/Core-v3.7.1和FirebaseAnalytics。请注意,我没有提到任何FirebaseAnalytics的首选版本。令我惊讶的是,我的应用程序开始工作,没有任何地方突破。但是,现在我看到,Firebase事件正在解雇,但GA没有收到任何事件。另外,我在我的控制台中看到事件的参数被传递为null。

GoogleTagManager info: Processing logged event: gtm.load with parameters: (null) 

吊舱安装日志 -

Downloading dependencies 
Installing Firebase 3.7.1 (was 4.3.0) 
Installing FirebaseAnalytics 3.4.4 (was 4.0.4) 
Installing FirebaseCore 3.4.3 (was 4.0.8) 
Installing FirebaseInstanceID 1.0.9 (was 2.0.4) 
Using GoogleAnalytics (3.17.0) 
Installing GoogleInterchangeUtilities (1.2.2) 
Using GoogleSymbolUtilities (1.1.2) 
Installing GoogleTagManager 5.0.8 (was 6.0.0) 
Using GoogleUtilities (1.3.2) 

我不知道什么是我的应用程序去错了。哪个库与Firebase或GoogleTagManager冲突?相同的设置在空白项目上正常工作。

我的应用程序使用的其他一堆手动添加(不通过的CocoaPods)其他框架 - AWS框架,CyptoSwift,下拉列表,机Timberjack,Alamofire,图表,光泽,SwiftValidator,SwiftyJSON,SDWebImage,AWSFacebookSignIn,AWSGoogleSignIn,印迹,FBSDKCoreKit ,FBSDKLoginKit,GoogleAppUtilities,GoogleAuthUtilities,GoogleNetworkUtilities,GoogleSignin,SafariServices。

希望帮助识别是否有任何冲突。

我之所以这么说冲突是因为 Google标记和火力地堡的最新版本的空白应用POC我 具有相同GoogleServices-的info.plist和GTM-XXXXXXX.json文件没有正常工作。 此外,当我降级GTM和Firebase的版本时,该应用仍然有效,但在这种情况下,GA会停止接收事件。

控制台日志:

年10月17九时39分30秒XX-壳牌[88944]:[火力地堡/核心] [I-COR000005]没有应用已被配置。

年10月17 9时39分30秒XX-壳牌[88944]:[火力地堡/分析] [I-ACS024000]调试模式是

年10月17 9时39分30秒XX-壳牌[88944]: [火力地堡/分析] [I-ACS023008为了禁用调试日志记录设定下列参数应用:-noFIRAnalyticsDebugEnabled

年10月17九时39分30秒XX-壳牌[88944]:[火力地堡/分析] [I-ACS023009]启用调试日志记录

Oct 17 09:39:30 XX-Shell [88944]:[Firebase/Core] [I-COR000005]尚未配置任何应用程序。

二○一七年十月一十七日09:39:30.349 XX-壳牌[88944:5891923] Google标记信息:正在加载容器:GTM-XXXXXXX

initializingUserPool2017-10-17 09:39:30.352 XX-壳牌[88944 :5891910] GoogleTagManager信息:试图从网络中加载容器GTM-XXXXXXX

Oct 17 09:39:30 XX-Shell [88944]:[Firebase/Analytics] [I-ACS025018]未记录事件。拨打+ [FIRApp配置]:gtmTrackEvent_screenView

Update: 26Oct2017 

我发现冲突的库 - GoogleUtilities, GoogleNetworkingUtilities和GoogleSymbolUtilities。我将我所有的 项目相关框架都复制到了我的poc中,并且我能够复制 问题。我开始一次删除一个库,并在这些库上引发问题(当它们在一起时)。希望谷歌将 调查这个问题,并尽快更新。我的问题与实际 项目是,我有太多的子项目,我将不得不 解决冲突(谷歌和其他)所有的子 项目一起..这是一项繁琐的任务,:)

+0

您是否在https://github.com/firebase/firebase-ios-sdk/issues上提交了问题?另外,请提供一些调试日志。谢谢 – adbitx

+0

使用控制台日志更新了评论。应用程序崩溃但崩溃日志不是由DiagnosticReports文件夹下的模拟器生成的。 –

回答

0

是否有任何方法来隔离冲突可能的地方,也许通过删除库?如果您可以从发生崩溃时获取堆栈跟踪,这也会有所帮助。

+0

请在我的意见底部检查更新 –