2017-02-03 93 views
2

我試圖將Xamarin.Forms應用程序發送到Apple App Store。 我已經從Visual Studio,使用LLVM編譯器的Ad-Hoc構建它。將輸出保存在另一個文件夾(.app,.ipa,.dSYM)上。無法理解符號化Xamarin.Forms應用程序崩潰日誌的輸出

現在,蘋果拒絕了它,因爲IPv6與應用程序存在問題,並且他們將崩潰日誌附加到該問題。當我嘗試象徵崩潰日誌時,在輸出中沒有任何與我的應用相關的東西,只有我可以涉及到的是Main類,但它告訴我一個不存在的行號。

這裏是symbolicate輸出的一部分:http://pastebin.com/PjhCuTgV

有我丟失的東西,或更好的方法來從Xamarin調試iOS的代碼?

-

編輯:我得到了一個更好的系統崩潰日誌:

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

我看到許多來自Apple的拒絕報告,該網站出現IPv6兼容性問題,其中問題實際上與IPv6無關。只是一個頭。在一種情況下,由於缺少權限描述,該應用在啓動時崩潰,但Apple拒絕聲明該應用不兼容IPv6。此外,該崩潰日誌完全沒有符號化。看到這篇文章如何符號化崩潰報告:http://jmillerdev.net/symbolicating-ios-crash-files-xamarin-ios/ – jgoldberger

+0

我看過這篇文章,並且我已經遵循這篇博文中顯示的everystep。我已經看到其他方法來象徵一個crashlog並且再也沒有任何細節了......另外,我已經檢查了權限描述,並且只使用了聲明的描述。 – Frank

+0

我有經理使用HockeyApp從crashlog中獲得更好的輸出。不知道爲什麼,我從mdfind或dwarfdump的crashlog,.app,.dSYM中驗證了所有UUID。查看更新日誌的原始文章。謝謝 – Frank

回答

0

我的問題是應用程序正在採取太多的時間開始。在這種情況下,崩潰日誌應該有異常代碼:0x8badf00d。根據蘋果的文檔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. 

在我的情況下,日誌過的0x0000000000000000異常代碼,它只是說,未處理的OBJ-C代碼的異常。 Apple沒有提供幫助來找到這個問題,因爲我們的設備在TestFlight上正常工作。我可以讓他們幫助我理解他們的環境,大多數是:「我按下了圖標,它墜毀了」。

我修復我的應用程序的做法是儘可能減少初始加載時間,導航到僅包含ActivityMonitor的「加載視圖」。當應用完全初始化後,我會導航到正確的視圖。