monotouch设备只会崩溃

时间:2012-01-12 03:10:19

标签: objective-c ios xcode xamarin.ios

我有一个使用btouch'd绑定WEPopover的应用程序。您可以使用适用于设备模拟器的SAMPLE应用程序找到下面的绑定:

https://github.com/anujb/monotouch-bindings

我在另一个应用程序中使用相同的dll,它可以在模拟器上运行,但会导致设备崩溃:

崩溃日志:

Hardware Model:      iPad2,1
Process:         MyApp [2905]
Path:            /var/mobile/Applications/31F6EA63-F5B5-49A4-B78B-7A0EDE39FF6E/MyApp.app/MyApp
Identifier:      MyApp
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2012-01-11 20:56:08.238 -0600
OS Version:      iPhone OS 5.0.1 (9A405)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x3088932c 0x30878000 + 70444
1   libsystem_c.dylib               0x37d2af54 0x37cdd000 + 319316
2   libsystem_c.dylib               0x37d23fe4 0x37cdd000 + 290788
3   MyApp                       0x009c8048 mono_handle_native_sigsegv (mini-exceptions.c:2249)
4   MyApp                       0x009f53c4 sigabrt_signal_handler (mini-posix.c:196)
5   libsystem_c.dylib               0x37d35532 0x37cdd000 + 361778
6   libsystem_c.dylib               0x37d2af54 0x37cdd000 + 319316
7   libsystem_c.dylib               0x37d23fe4 0x37cdd000 + 290788
8   MyApp                       0x00b450c8 monoeg_g_logv (goutput.c:135)
9   MyApp                       0x00b4519c monoeg_assertion_message (goutput.c:155)
10  MyApp                       0x0099d080 mono_resolve_patch_target (mini.c:3179)
11  MyApp                       0x009bbf5c mono_aot_plt_resolve (aot-runtime.c:3134)
12  MyApp                       0x009ca640 mono_aot_plt_trampoline (mini-trampolines.c:768)
13  MyApp                       0x003fa930 generic_trampoline_aot_plt (mscorlib.dll.6.s:204591)
14  MyApp                       0x00ab3b6c mono_runtime_invoke (object.c:2757)
15  MyApp                       0x00a39894 create_exception_two_strings (exception.c:134)
16  MyApp                       0x00a3990c mono_exception_from_name_two_strings (exception.c:157)
17  MyApp                       0x009f6164 create_domain_objects (appdomain.c:177)
18  MyApp                       0x009f6430 mono_runtime_init (appdomain.c:261)
19  MyApp                       0x009a2b80 mini_init (mini.c:6584)
20  MyApp                       0x009ae728 mono_jit_init_version (driver.c:2233)
21  MyApp                       0x00996388 main (main.m:2423)
22  MyApp                       0x00008218 start + 32

更新:mtouch --logdev崩溃报告:

Jan 11 21:16:55 unknown SpringBoard[15] <Warning>: Killing MyApp for termination assertion
Jan 11 21:17:00 unknown SpringBoard[15] <Warning>: Reloading application state for 'MyApp' as its modification date or path has changed
Jan 11 21:17:00 unknown SpringBoard[15] <Warning>: Reloading and rendering all application icons.
Jan 11 21:17:03 unknown SpringBoard[15] <Notice>: Posting 'com.apple.iokit.hid.displayStatus' notifyState=1
Jan 11 21:17:03 unknown SpringBoard[15] <Notice>: MultitouchHID: detection mode: 255->0 (deferring until bootloaded)
Jan 11 21:17:03 unknown SpringBoard[15] <Notice>: MultitouchHID: device bootloaded
Jan 11 21:17:03 unknown SpringBoard[15] <Notice>: MultitouchHID: detection mode: 0->0
Jan 11 21:17:03 unknown kernel[0] <Debug>: set_crc_notification_state 0
Jan 11 21:17:07 unknown kernel[0] <Debug>: AppleKeyStore:cp_key_store_action(1)
Jan 11 21:17:07 unknown kernel[0] <Debug>: AppleKeyStore:Sending lock change
Jan 11 21:17:09 unknown UIKitApplication:MyApp[0xba5e][2965] <Notice>: Successfully received USB connection from MonoDevelop on port 10001.
Jan 11 21:17:09 unknown kernel[0] <Debug>: launchd[2965] Builtin profile: container (sandbox)
Jan 11 21:17:09 unknown kernel[0] <Debug>: launchd[2965] Container: /private/var/mobile/Applications/31F6EA63-F5B5-49A4-B78B-7A0EDE39FF6E [69] (sandbox)
Jan 11 21:17:14 unknown ReportCrash[2967] <Notice>: Formulating crash report for process MyApp[2965]
Jan 11 21:17:14 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:MyApp[0xba5e]) Job appears to have crashed: Segmentation fault: 11
Jan 11 21:17:14 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:MyApp[0xba5e]) Throttling respawn: Will start in 2147483642 seconds
Jan 11 21:17:14 unknown SpringBoard[15] <Warning>: Application 'MyApp' exited abnormally with signal 11: Segmentation fault: 11
Jan 11 21:17:14 unknown ReportCrash[2967] <Error>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/MyApp_2012-01-11-211713_myipads-iPad.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0

2 个答案:

答案 0 :(得分:1)

这是当前稳定版本中的known bug(5.0。*)。它已在最新的测试版(5.1.1)中修复 - 请注意,虽然它是测试版并且存在已知的回归(例如,如果您的应用程序很大,则可能无法将其上传到设备)。 / p>

如果您更改链接器选项(链接所有程序集),可能成功解决该问题

答案 1 :(得分:0)

  

8 MyApp 0x00b450c8 monoeg_g_logv(goutput.c:135)

单声道运行时试图告诉你一些事情,但不会出现在崩溃日志中(例如,你可能已经用完了蹦床)。尝试运行:

/Developer/MonoTouch/usr/bin/mtouch --logdev
运行应用程序时在终端窗口上

。设备日志应包含消息和/或托管堆栈跟踪,以便于诊断。