添加Google转换跟踪SDK iOS-3.0.0时,应用程序崩溃

我将GoogleConversionTrackingSDK添加到我的项目中,然后调用该函数: [ACTConversionReporter reportWithConversionID:@"972050884" label:@"Bzk1CIzPkAkQxKPBzwM" value:@"0" isRepeatable:NO]; 那么我的应用崩溃。 这是堆栈跟踪:

  'NSInvalidArgumentException', reason: '+[NSDate act_secondsSince1970]: unrecognized selector sent to class 0x10225d8d0' *** First throw call stack: ( 0 CoreFoundation 0x000000010210f495 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x0000000101bd499e objc_exception_throw + 43 2 CoreFoundation 0x00000001021a055d +[NSObject(NSObject) doesNotRecognizeSelector:] + 205 3 CoreFoundation 0x0000000102100d8d ___forwarding___ + 973 4 CoreFoundation 0x0000000102100938 _CF_forwarding_prep_0 + 120 5 TestMoboSDK-Client 0x00000001000143cb -[ACTReporterPrivate commonQueryParameters] + 84 6 TestMoboSDK-Client 0x0000000100014779 -[ACTReporterPrivate report] + 98 7 TestMoboSDK-Client 0x000000010001177a -[ACTReporter report] + 75 8 TestMoboSDK-Client 0x00000001000118d4 +[ACTConversionReporter reportWithConversionID:label:value:isRepeatable:] + 170 9 TestMoboSDK-Client 0x0000000100001de6 -[MoboSDK analytics] + 342 10 TestMoboSDK-Client 0x0000000100001c16 __20-[MoboSDK googleSDK]_block_invoke + 38 11 libdispatch.dylib 0x00000001027fd72d _dispatch_client_callout + 8 12 libdispatch.dylib 0x00000001027ee85f dispatch_once_f + 82 13 TestMoboSDK-Client 0x0000000100001bea -[MoboSDK googleSDK] + 122 14 TestMoboSDK-Client 0x0000000100001b53 -[MoboSDK init] + 899 15 TestMoboSDK-Client 0x0000000100001eb2 __17+[MoboSDK shared]_block_invoke + 50 16 libdispatch.dylib 0x00000001027fd72d _dispatch_client_callout + 8 17 libdispatch.dylib 0x00000001027ee85f dispatch_once_f + 82 18 TestMoboSDK-Client 0x0000000100001e6a +[MoboSDK shared] + 122 19 TestMoboSDK-Client 0x000000010000566e -[ViewController supportedInterfaceOrientations] + 254 20 UIKit 0x000000010088568b -[UIViewController __supportedInterfaceOrientations] + 378 21 UIKit 0x000000010087f7be -[UIViewController _preferredInterfaceOrientationGivenStatusBarAndDeviceAndOrientation:] + 59 22 UIKit 0x00000001007b7ef6 -[UIWindow setRootViewController:] + 103 23 TestMoboSDK-Client 0x00000001000078f0 -[AppDelegate application:didFinishLaunchingWithOptions:] + 464 24 UIKit 0x000000010077c3d9 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 264 25 UIKit 0x000000010077cbe1 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1605 26 UIKit 0x0000000100780a0c -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 660 27 UIKit 0x0000000100791d4c -[UIApplication handleEvent:withNewEvent:] + 3189 28 UIKit 0x0000000100792216 -[UIApplication sendEvent:] + 79 29 UIKit 0x0000000100782086 _UIApplicationHandleEvent + 578 30 GraphicsServices 0x00000001035a171a _PurpleEventCallback + 762 31 GraphicsServices 0x00000001035a11e1 PurpleEventCallback + 35 32 CoreFoundation 0x0000000102091679 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41 33 CoreFoundation 0x000000010209144e __CFRunLoopDoSource1 + 478 34 CoreFoundation 0x00000001020ba903 __CFRunLoopRun + 1939 35 CoreFoundation 0x00000001020b9d83 CFRunLoopRunSpecific + 467 36 UIKit 0x00000001007802e1 -[UIApplication _run] + 609 37 UIKit 0x0000000100781e33 UIApplicationMain + 1010 38 TestMoboSDK-Client 0x000000010000b44a main + 138 39 TestMoboSDK-Client 0x00000001000017c4 start + 52 40 ??? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException 

我也尝试了一个新的项目来添加这个SDK,但得到了同样的崩溃。如果GoogleConversionTrackingSDK-iOS-3.0.0是否支持iOS 7? 需要指导我在这里做错了什么,或者如果我失去了一些东西。

谢谢。

出现此问题是因为google在静态库中使用了类别
解决scheme非常简单,你需要通知链接器

在这里输入图像说明

1)点击该项目
2)点击目标
3)打开Build Settings选项卡
4)searchOther Linker Flags

在这里输入图像说明

5)双击Other Linker Flags
6)添加-all_load-all_load标志
7)
删除二进制文件(从设备/模拟器删除),
清理项目(打cmd+shift+k )和
再次build立(击中cmd+b )。

你准备好了!

你是否试图从这里遵循Boudewijn P的build议?

将-ObjC添加到构build设置中的“其他链接器标志”。 或者,如果获得重复的符号,只需通过将-force_load添加到其他链接器标志强制加载库:-force_load path / to / libGoogleConversionTracking.a适当地replace“path / to”。