App崩溃时添加谷歌转换跟踪SDK iOS-3.0.0

时间:2021-12-20 14:04:32

I am adding GoogleConversionTrackingSDK into my project and then calling the function: [ACTConversionReporter reportWithConversionID:@"972050884" label:@"Bzk1CIzPkAkQxKPBzwM" value:@"0" isRepeatable:NO]; then my app crash. Here is the stack trace:

我将GoogleConversionTrackingSDK添加到我的项目中,然后调用该函数:[ACTConversionReporter reportWithConversionID:@“972050884”标签:@“Bzk1CIzPkAkQxKPBzwM”值:@“0”是可重复的:不;然后我的应用程序崩溃。这是堆栈跟踪:

   '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

I also tried a fresh project to add this SDK but got the same crash.If GoogleConversionTrackingSDK-iOS-3.0.0 is support for iOS 7 or not? Need guidance on what am I doing wrong here or if I am missing something.

我还尝试了一个新的项目来添加这个SDK,但是遇到了同样的问题。如果GoogleConversionTrackingSDK-iOS-3.0.0是否支持iOS 7 ?需要指导我在这里做错了什么,如果我错过了什么。

Thanks.

谢谢。

2 个解决方案

#1


6  

This problem appears because google has used categories in static library
The solution is super simple, you need to notify linker about that

这个问题出现是因为谷歌在静态库中使用了类别,解决方案非常简单,您需要通知链接器

App崩溃时添加谷歌转换跟踪SDK iOS-3.0.0

1) Click on the project
2) Click on the target
3) Open Build Settings tab
4) Search for Other Linker Flags

1)点击项目2)点击目标3)打开构建设置选项卡4)搜索其他链接器标志

App崩溃时添加谷歌转换跟踪SDK iOS-3.0.0

5) Double click on Other Linker Flags
6) Add -ObjC and -all_load flags
7)
Remove binary (delete from device/simulator),
Clean project (hitting cmd+shift+k) and
build again (hitting cmd+b).

5)双击其他链接器标志6)添加-ObjC和-all_load标志7)删除二进制文件(从设备/模拟器删除)、清理项目(按cmd+shift+k)并再次构建(按cmd+b)。

You're ready to go!

你准备好了!

#2


0  

Have you tried to follow Boudewijn P's suggestion from here ?

你有没有试着跟随布德维恩·P的建议?

Add -ObjC to the "Other Linker Flags" in the build settings. Or, if you get duplicate symbols, just force load the library by adding -force_load to the other linker flags: -force_load path/to/libGoogleConversionTracking.a replace "path/to" appropriately.

在构建设置中添加-ObjC到“其他链接器标志”。或者,如果您得到重复的符号,只需通过将-force_load添加到其他链接器标记:-force_load路径/to/libGoogleConversionTracking,强制加载该库。适当的取代“路径/”。

#1


6  

This problem appears because google has used categories in static library
The solution is super simple, you need to notify linker about that

这个问题出现是因为谷歌在静态库中使用了类别,解决方案非常简单,您需要通知链接器

App崩溃时添加谷歌转换跟踪SDK iOS-3.0.0

1) Click on the project
2) Click on the target
3) Open Build Settings tab
4) Search for Other Linker Flags

1)点击项目2)点击目标3)打开构建设置选项卡4)搜索其他链接器标志

App崩溃时添加谷歌转换跟踪SDK iOS-3.0.0

5) Double click on Other Linker Flags
6) Add -ObjC and -all_load flags
7)
Remove binary (delete from device/simulator),
Clean project (hitting cmd+shift+k) and
build again (hitting cmd+b).

5)双击其他链接器标志6)添加-ObjC和-all_load标志7)删除二进制文件(从设备/模拟器删除)、清理项目(按cmd+shift+k)并再次构建(按cmd+b)。

You're ready to go!

你准备好了!

#2


0  

Have you tried to follow Boudewijn P's suggestion from here ?

你有没有试着跟随布德维恩·P的建议?

Add -ObjC to the "Other Linker Flags" in the build settings. Or, if you get duplicate symbols, just force load the library by adding -force_load to the other linker flags: -force_load path/to/libGoogleConversionTracking.a replace "path/to" appropriately.

在构建设置中添加-ObjC到“其他链接器标志”。或者,如果您得到重复的符号,只需通过将-force_load添加到其他链接器标记:-force_load路径/to/libGoogleConversionTracking,强制加载该库。适当的取代“路径/”。