2014-06-30 32 views
5

我將GoogleConversionTrackingSDK添加到我的項目中,然後調用函數[ACTConversionReporter reportWithConversionID:@"972050884" label:@"Bzk1CIzPkAkQxKPBzwM" value:@"0" isRepeatable:NO]; 然後我的應用程序崩潰。這裏是堆棧跟蹤:添加Google轉換跟蹤SDK iOS-3.0.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 

我也嘗試了新的項目添加此SDK,但得到了同樣的crash.If GoogleConversionTrackingSDK-IOS-3.0.0是針對iOS 7或不支持?需要指導我在這裏做錯了什麼,或者如果我錯過了什麼。

謝謝。

+1

檢查您是否添加了「GoogleConversionTrackingSDK」所需的所有文件。 '無法識別的選擇器錯誤'表明你正試圖調用一個方法,其定義不存在。嘗試檢查SDK文件中的'act_secondsSince1970'方法,並添加相應的文件。 – GoGreen

+0

我在我的項目中添加了所有'GoogleConversionTrackingSDK'文件。進入我的項目沒有方法'act_secondsSince1970'我認爲這個方法是'GoogleConversionTrackingSDK'的方法。但無法找到它在哪裏。 – lee

+0

您是否添加了[開發人員鏈接](https://developers.google.com/app-conversion-tracking/)中提到的iOS AdSupport開發框架? – GoGreen

回答

6

這個問題)點擊項目
2 )點擊目標
3)打開Build Settings標籤
4)搜索Other Linker Flags

enter image description here

5)Other Linker Flags
6)雙擊添加-ObjC-all_load標誌
7)
刪除二進制(從設備/模擬器刪除),
清潔工程(打cmd+shift+k)和
再次構建(擊中cmd+b)。

你準備好了!

+2

太棒了!添加兩個值'-ObjC'和'-all_load'可以幫助解決崩潰。在那之前,我只是嘗試添加其中的一個,以至於無法修復崩潰。 – lee

0

您是否試圖關注Boudewijn P的建議here

將-ObjC添加到構建設置中的「其他鏈接器標誌」。或者,如果 您獲得重複的符號,只需強制加載庫,方法是將 -force_load添加到其他鏈接器標誌: -force_load path/to/libGoogleConversionTracking.a適當替換「path/to」。因爲谷歌已經用在靜態庫
的解決方案是超級簡單,你需要通知有關

enter image description here

1連接器類出現

+0

是的,當我搜索這次崩潰時,我嘗試了所有這些建議,但沒有任何幫助。 – lee