Мы подключили TestFlight и TestFlight SDK к MonoTouch, и пока он отлично работает.
Одна вещь, которую мы заметили, это то, что отчеты о сбоях больше ориентированы на приложения Obj-C.
Они выглядят так после загрузки заархивированного dSYM-файла:
0 OurApp 0x007a7116 testflight_backtrace + 170
1 OurApp0x007a7c3c TFSignalHandler + 208
2 libsystem_c.dylib 0x34f68538 _sigtramp + 48
3 libsystem_c.dylib 0x34f5df5a pthread_kill + 54
4 libsystem_c.dylib 0x34f56fea abort + 94
5 OurApp 0x007793b3 monoeg_g_logv (goutput.c:137)
6 OurApp 0x0077941f monoeg_g_log (goutput.c:147)
7 OurApp 0x005f1393 get_numerous_trampoline (aot-runtime.c:3447)
8 OurApp 0x005f1b2f mono_aot_get_imt_thunk (aot-runtime.c:3576)
9 OurApp 0x006e2c83 initialize_imt_slot (object.c:1247)
10 OurApp 0x006e321f build_imt_slots (object.c:1371)
11 OurApp 0x006e356f mono_vtable_build_imt_slot (object.c:1439)
12 OurApp 0x005fcf83 mono_convert_imt_slot_to_vtable_slot (mini-trampolines.c:198)
13 OurApp 0x005fd50f common_call_trampoline (mini-trampolines.c:333)
14 OurApp 0x005fe573 mono_vcall_trampoline (mini-trampolines.c:644)
15 OurApp 0x0056a68f generic_trampoline_vcall (mscorlib.dll.6.s:194345)
16 OurApp 0x00416b4f System_Collections_Generic_List_1__ctor_System_Collections_Generic_IEnumerable_1_T (mscorlib.dll.6.s:32014)
17 OurApp 0x0026955b System_Linq_Enumerable_ToList_TSource_System_Collections_Generic_IEnumerable_1_TSource (System.Core.dll.6.s:1917)
Таким образом, вы можете сказать общей функции C #, где произошел сбой. (Примечание: этот сбой был ошибкой в MonoTouch 5.0.1, где генерики Linq были испорчены, похоже, исправлены в 5.0.2)
Было бы неплохо получить полную трассировку стека C # здесь, есть мысли о том, как это сделать? Я мог бы подключиться к AppDomain.UnhandledException
и применить попытку к моему методу static void Main
, но подумал, есть ли способ сообщить трассировку стека в TestFlight.