2014-06-30 6 views
5

Ich bin GoogleConversionTrackingSDK in mein Projekt und dann die Funktion aufrufen: [ACTConversionReporter reportWithConversionID:@"972050884" label:@"Bzk1CIzPkAkQxKPBzwM" value:@"0" isRepeatable:NO]; dann meine App-Absturz. Hier ist der Stack-Trace:App-Absturz beim Hinzufügen von Google Conversion Tracking-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 

Ich habe auch versucht, ein neues Projekt dieses SDK hinzufügen, aber bekam die gleiche crash.If GoogleConversionTrackingSDK-iOS-3.0.0-Unterstützung ist für iOS 7 oder nicht? Brauche eine Anleitung darüber, was ich hier falsch mache oder ob mir etwas fehlt.

Danke.

+1

Überprüfen Sie, ob Sie alle Dateien für das 'GoogleConversionTrackingSDK' hinzugefügt haben. 'Unbekannter Selektorfehler 'zeigt an, dass Sie versuchen, eine Methode aufzurufen, deren Definition nicht existiert. Versuchen Sie, in den SDK-Dateien nach der Methode "act_secondsSince1970" zu suchen, und fügen Sie die entsprechende Datei hinzu. – GoGreen

+0

Ich habe alle Dateien von 'GoogleConversionTrackingSDK' in mein Projekt eingefügt. In meinem Projekt hatte keine Methode 'act_secondsSince1970' Ich denke diese Methode ist' GoogleConversionTrackingSDK's Methode. Aber kann nicht gefunden werden, wo es ist. – lee

+0

Haben Sie das iOS-AdSupport-Entwicklungsframework wie im Entwicklerlink (https://developers.google.com/app-conversion-tracking/) erwähnt hinzugefügt? – GoGreen

Antwort

6

Dieses Problem wird angezeigt, weil Google Kategorien in statischen Bibliothek
Die Lösung wird super einfach verwendet hat, müssen Sie benachrichtigen Linker über diese

enter image description here

1) Klicken Sie auf das Projekt
2) Klicken Sie auf das Ziel
3) Öffnen Sie Build Settings Registerkarte
4) Suche nach Other Linker Flags

enter image description here

5) Klicken Sie doppelt auf Other Linker Flags
6) In -ObjC und -all_load Flaggen
7)
binär entfernen (löschen von Gerät/Simulator),
Rein Projekt (Schlagen cmd+shift+k) und
bauen Sie wieder (schlagen cmd+b).

Sie sind bereit zu gehen!

+2

Großartig! addieren Sie zwei Werte '-ObjC' und' -all_load' kann helfen, löste den Abbruch. Vor dem, versuchte ich gerade, einen von ihnen hinzuzufügen, also kann nicht für den Unfall reparieren. – lee

0

Haben Sie versucht, dem Vorschlag von Boudewijn P von here zu folgen?

Fügen Sie -ObjC den "Other Linker Flags" in den Erstellungseinstellungen hinzu. Oder, wenn doppelte Symbole erhalten, erzwingen Sie einfach das Laden der Bibliothek, indem Sie -force_load zu den anderen Linker-Flags hinzufügen: -force_load path/to/libGoogleConversionTracking.a ersetzen Sie "path/to" entsprechend.

+0

Ja, ich habe alle diese Ratschläge ausprobiert, wenn ich nach diesem Absturz suche, aber nichts kann helfen. – lee