2012-07-03 3 views
0

Мое приложение разбивается только на моем реальном устройстве, когда я использую привязки Kiip MonoTouch. Он отлично работает на симуляторе. Вот часть моей трассировки стека:MonoTouch Binding Library - EXC_BAD_ACCESS (SIGSEGV)

0 libsystem_c.dylib    0x30eb293c memset$VARIANT$CortexA8 + 52 
1 sample       0x002b5738 GC_clear_stack_inner (misc.c:298) 
2 sample       0x002b574c GC_clear_stack_inner (misc.c:299) 
3 sample       0x002b574c GC_clear_stack_inner (misc.c:299) 
4 sample       0x002b574c GC_clear_stack_inner (misc.c:299) 
5 sample       0x002b574c GC_clear_stack_inner (misc.c:299) 
6 sample       0x002b574c GC_clear_stack_inner (misc.c:299) 
7 sample       0x002b574c GC_clear_stack_inner (misc.c:299) 
8 sample       0x002b574c GC_clear_stack_inner (misc.c:299) 
9 sample       0x002b574c GC_clear_stack_inner (misc.c:299) 
10 sample       0x002b574c GC_clear_stack_inner (misc.c:299) 
11 sample       0x002b57b8 GC_clear_stack (misc.c:344) 
12 sample       0x002b2bd8 GC_malloc_atomic (malloc.c:270) 
13 sample       0x0026f374 mono_object_new_ptrfree_box (object.c:4416) 
14 sample       0x00102290 wrapper_managed_to_native_object___icall_wrapper_mono_object_new_ptrfree_box_intptr (mscorlib.dll.6.s:92590) 
15 sample       0x0001da78 System_Collections_Generic_Dictionary_2_intptr_System_WeakReference_TryGetValue_intptr_System_WeakReference_ (monotouch.dll.6.s:14642) 
16 sample       0x0000d1e4 MonoTouch_ObjCRuntime_Runtime_TryGetNSObject_intptr (monotouch.dll.6.s:6354) 
17 sample       0x0000d2f0 MonoTouch_ObjCRuntime_Runtime_GetNSObject_intptr (monotouch.dll.6.s:6380) 
18 sample       0x0000d3a4 MonoTouch_ObjCRuntime_Runtime_GetNSObjectWrapped_intptr (monotouch.dll.6.s:6415) 
19 sample       0x00023e08 wrapper_native_to_managed_MonoTouch_ObjCRuntime_Runtime_GetNSObjectWrapped_intptr (monotouch.dll.6.s:17991) 
20 sample       0x002bea2c get_managed_object_for_ptr_fast (monotouch-glue.m:346) 
21 sample       0x001ca1fc native_to_managed_trampoline_Kiip_KPManager_set_SharedManager (registrar.m:823) 

Вот это SDK:

www.jmawebtechnologies.com/files/archive.zip

Вот пример проекта

https://github.com/mono/monotouch-bindings/tree/master/Kiip

Вот код сбоя программного обеспечения:

AppDelegate> KPManager.SharedManager = новый KPManager (

Вот полный журнал аварии:

www.jmawebtechnologies.com/files/crash.zip

ответ

5

Это происходит потому, что библиотека libKiip.a вы» у вас нет архитектуры, для которой вы строите. Это произойдет, например, если libKiip.a имеет код armv6 и i386, но вы создаете для armv7.

Во время сборки должно привести это предупреждение:

warning MT1301: Native library `libKiip.a` (i386, ARMv7) was ignored since it does not match the current build architecture(s) (ARMv6) 

Решение либо изменить проект MonoTouch использовать архитектуру доступной в библиотеке libKiip.a, или убедитесь, что вы имеете правильную архитектуру в библиотеке (я считаю, что универсальный libKiip.a будет работать).

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