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
这个问题出现是因为谷歌在静态库中使用了类别,解决方案非常简单,您需要通知链接器
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)搜索其他链接器标志
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
这个问题出现是因为谷歌在静态库中使用了类别,解决方案非常简单,您需要通知链接器
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)搜索其他链接器标志
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,强制加载该库。适当的取代“路径/”。