2017-02-03 4 views
2

Я пытаюсь отправить приложение Xamarin.Forms в Apple App Store. Я построил его из Visual Studio, Ad-Hoc с компилятором LLVM. Сохранял вывод на mac в другую папку (.app, .ipa, .dSYM).Не могу понять вывод символического журнала сбоев приложения Xamarin.Forms

Теперь Apple отказывается от него, так как есть проблема с IPv6 с приложением, и они прикрепляют аварийный журнал к проблеме. Когда я пытаюсь символизировать журнал сбоев, у меня нет ничего, что бы соответствовало моему приложению на выходе, только я мог бы связать это, это основной класс, но он сообщает мне номер строки, который не существует.

Вот часть вывода symbolicate: http://pastebin.com/PjhCuTgV

Есть ли что-то мне не хватает, или лучший способ отладки IOS код из Xamarin?

-

Edit: мне удалось получить более crashlog:

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

Я видел это сообщение, и я следил за ним, как показано на этом блоге. Я видел другие методы, чтобы символизировать crashlog и никогда не получал больше деталей ... Кроме того, я проверил описания разрешений, и я использую только те, которые были объявлены. – Frank

+0

У меня есть менеджер, чтобы получить лучший результат из crashlog с помощью HockeyApp. Не уверен, почему, я проверил все UUID, из crashlog, .app, .dSYM, из mdfind или dwarfdump. См. Начальную запись для обновленного журнала. Спасибо – Frank

ответ

0

Мой вопрос приложение занимает слишком много времени запуска. В этом случае в журнале сбоев должен быть код исключения: 0x8badf00d. По словам 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. 

В моем случае, журнал имел код исключения из 0x0000000000000000, который просто говорит, что необработанное исключение кода Obj-C. Apple не помогла найти эту проблему, поскольку на наших устройствах она работала правильно на TestFlight. Большинство из них могли заставить их помочь мне понять их окружение: «Я нажал значок, и он разбился».

Что я сделал, чтобы исправить свое приложение, было как можно меньше сократить начальное время загрузки, перейти в «загрузочный вид», который содержит только ActivityMonitor. Когда приложение будет полностью инициализировано, я затем перейду к правильному представлению.

Смежные вопросы