2017-02-03 3 views
2

Ich versuche, eine Xamarin.Forms-Anwendung an den Apple App Store zu senden. Ich habe es von Visual Studio, Ad-Hoc mit dem LLVM-Compiler gebaut. Die Ausgabe auf dem Mac wurde auf einen anderen Ordner gespeichert (.app, .ipa, .dSYM).Ich kann die Ausgabe des symbolischen Absturzprotokolls einer Xamarin.Forms-App nicht verstehen.

Jetzt lehnt Apple es ab, da es ein Problem mit IPv6 mit der App gibt und sie ein Absturzprotokoll an das Problem anhängen. Wenn ich versuche, das Absturzprotokoll zu symbolisieren, habe ich in der Ausgabe nichts, was für meine App relevant ist, sondern nur die Main-Klasse, aber sie teilt mir eine Zeilennummer mit, die nicht existiert.

Hier ist ein Teil der symbolicate Ausgabe: http://pastebin.com/PjhCuTgV

Gibt es etwas, was ich bin fehlt, oder einen besseren Weg, iOS-Code von Xamarin zu debuggen?

-

Edit: Ich schaffte es eine bessere Crashlog zu erhalten:

Last Exception Backtrace: 
0 CoreFoundation      0x193fb51b8 __exceptionPreprocess + 124 
1 libobjc.A.dylib      0x1929ec55c objc_exception_throw + 52 
2 UIKit        0x19a618490 +[UIStoryboard storyboardWithName:bundle:] + 780 
3 UIKit        0x19a0eca70 -[UIApplication _loadMainStoryboardFileNamed:bundle:] + 92 
4 UIKit        0x199ed5320 -[UIApplication _loadMainInterfaceFile] + 260 
5 UIKit        0x19a0eb6e8 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1364 
6 UIKit        0x19a100104 __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke.3139 + 44 
7 UIKit        0x19a0e87ec -[UIApplication workspaceDidEndTransaction:] + 164 
8 FrontBoardServices     0x195b8b92c __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 32 
9 FrontBoardServices     0x195b8b798 -[FBSSerialQueue _performNext] + 172 
10 FrontBoardServices     0x195b8bb40 -[FBSSerialQueue _performNextFromRunLoopSource] + 52 
11 CoreFoundation      0x193f62b5c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 20 
12 CoreFoundation      0x193f624a4 __CFRunLoopDoSources0 + 520 
13 CoreFoundation      0x193f600a4 __CFRunLoopRun + 800 
14 CoreFoundation      0x193e8e2b8 CFRunLoopRunSpecific + 440 
15 UIKit        0x199ece7b0 -[UIApplication _run] + 604 
16 UIKit        0x199ec9534 UIApplicationMain + 204 
17 MyApp        0x100bb22e4 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr (<unknown>:1) 
18 MyApp        0x100b20c4c UIKit_UIApplication_Main_string___intptr_intptr (UIApplication.cs:79) 
19 MyApp        0x100b20c0c UIKit_UIApplication_Main_string___string_string (UIApplication.cs:63) 
20 MyApp        0x1001fb444 MyApp_iOS_Application_Main_string__ (<unknown>:1) 
21 MyApp        0x10047de54 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 240 
22 MyApp        0x100116434 mono_jit_runtime_invoke (mini-runtime.c:2551) 
23 MyApp        0x10017a658 do_runtime_invoke (object.c:2820) 
24 MyApp        0x10017d240 do_exec_main_checked (object.c:2978) 
25 MyApp        0x100100198 mono_jit_exec (driver.g.c:1049) 
26 MyApp        0x1001fadd0 xamarin_main (monotouch-main.m:485) 
27 MyApp        0x1014232dc main (main.arm64.m:159) 
28 libdyld.dylib      0x192e715b8 start + 0 
+0

Ich habe viele Ablehnungsberichte von Apple gesehen, die ein IPv6 Kompatibilitätsproblem haben, wo das Problem wirklich nichts mit IPv6 zu tun hat. Nur ein Kopf hoch. In einem Fall stürzte die App beim Start aufgrund einer fehlenden Berechtigungsbeschreibung ab, aber Apple lehnte ab, dass die App nicht IPv6-kompatibel sei. Auch dieses Absturzprotokoll ist nicht symbolisiert. Sehen Sie diesen Beitrag für, wie man einen Unfallbericht symbolisiert: http://jmillerdev.net/symbolicating-ios-crash-files-xamarin-ios/ – jgoldberger

+0

Ich habe diesen Pfosten gesehen, und ich habe everystep gefolgt gezeigt in diesem blogpost. Ich habe andere Methoden gesehen, um ein Crashlog zu symbolisieren und habe nie mehr Details bekommen ... Außerdem habe ich die Erlaubnisbeschreibungen überprüft und ich benutze nur die erklärten. – Frank

+0

Ich habe Manager, um eine bessere Ausgabe aus dem Crashlog mit HockeyApp zu bekommen. Nicht sicher warum, verifizierte ich alle UUID, aus dem Crashlog, .app, .dSYM, von MDFIND oder Dwarfdump. Siehe Ursprungspost für das aktualisierte Protokoll. Danke – Frank

Antwort

0

Mein Problem wurde die App zu viel Zeit beginnen fand. In diesem Fall sollte das Absturzprotokoll den folgenden Ausnahmecode haben: 0x8badf00d. Gemäß der Dokumentation von Apple https://developer.apple.com/library/content/technotes/tn2151/_index.html

The exception code 0x8badf00d indicates that an application has been terminated by iOS because a watchdog timeout occurred. The application took too long to launch, terminate, or respond to system events. 

In meinem Fall hatte das Protokoll den Ausnahmecode von 0x0000000000000000, die eine nicht behandelte obj-c-Code Ausnahme nur sagt. Apple hat keine Hilfe angeboten, um dieses Problem zu finden, da es auf unseren Geräten bei TestFlight ordnungsgemäß funktionierte. Die meisten, die ich sie dazu bringen konnte, mir zu helfen, ihre Umwelt zu verstehen, war: "Ich drückte auf das Symbol und es stürzte ab".

Was ich getan habe, um meine Anwendung zu beheben, war so viel wie möglich die anfängliche Ladezeit zu reduzieren, navigieren Sie in eine "Ladeansicht", die nur einen ActivityMonitor enthält. Wenn die App vollständig initialisiert wurde, würde ich dann zur richtigen Ansicht navigieren.

Verwandte Themen