Мое приложение для iPhone / iPod (с названием Assement) работает нормально в симуляторе iOS, без предупреждений и ошибок. Однако, когда я развертываю его на устройстве, он сразу падает при запуске.
Я посмотрел аварийный дамп (полный файл .crash можно загрузить здесь ), но он даже не выглядит, как будто он выходит из Application.Main ():
14 Assessment 0x002a0ffc mono_handle_exception (mini-exceptions.c:1831)
15 Assessment 0x002c64cc mono_arm_throw_exception (exceptions-arm.c:158)
16 Assessment 0x00197cc4 throw_exception + 4018 CoreFoundation 0x000a4daa __handleUncaughtException + 206
--> 17 Assessment 0x003fda68 monotouch_exception_handler (monotouch-glue.m:834)
--> 18 CoreFoundation 0x000a4daa __handleUncaughtException + 206
19 libobjc.A.dylib 0x000088cc _objc_terminate + 148
20 libstdc++.6.dylib 0x00063100 __cxxabiv1::__terminate(void (*)()) + 76
21 libstdc++.6.dylib 0x00063178 std::terminate() + 16
22 libstdc++.6.dylib 0x000632a0 __cxa_throw + 100
23 libobjc.A.dylib 0x00006f28 objc_exception_throw + 104
24 CoreFoundation 0x000a4abc +[NSException raise:format:arguments:] + 64
25 CoreFoundation 0x000a4af0 +[NSException raise:format:] + 24
26 UIKit 0x00290af8 -[UINib instantiateWithOwner:options:] + 1724
27 UIKit 0x00292638 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 132
28 UIKit 0x00051b10 -[UIApplication _loadMainNibFile] + 136
29 UIKit 0x0004b9e4 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 248
30 UIKit 0x000052dc -[UIApplication handleEvent:withNewEvent:] + 1468
31 UIKit 0x00004b14 -[UIApplication sendEvent:] + 60
32 UIKit 0x000043ac _UIApplicationHandleEvent + 6816
33 GraphicsServices 0x00005c80 PurpleEventCallback + 1040
34 CoreFoundation 0x000365c4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 22
35 CoreFoundation 0x00036582 __CFRunLoopDoSource1 + 158
36 CoreFoundation 0x0002882e __CFRunLoopRun + 574
37 CoreFoundation 0x00028504 CFRunLoopRunSpecific + 220
38 CoreFoundation 0x00028412 CFRunLoopRunInMode + 54
--> 39 UIKit 0x0004a54c -[UIApplication _run] + 540
--> 40 UIKit 0x00047550 UIApplicationMain + 964
--> 41 Assessment 0x00024bcc wrapper_managed_to_native_MonoTouch_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 232
--> 42 Assessment 0x001e9420 X2_AssessmentApp_Application_Main_string__ + 144
43 Assessment 0x001673f8 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 192
Application.Main - это стандартное приложение, генерируемое при создании проекта (ни один из приведенных ниже кодов не работает, закомментированная версия с пространством имен приводит к тому же результату):
namespace XXXXXX.App //anonymized
{
public class Application
{
static void Main (string[] args)
{
//UIApplication.Main(args, null, "XXXXXX.App.AppDelegate");
UIApplication.Main(args, null, "AppDelegate");
}
}
// The name AppDelegate is referenced in the MainWindow.xib file.
public partial class AppDelegate : UIApplicationDelegate
{
// This method is invoked when the application has loaded its UI and its ready to run
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
System.Console.WriteLine("Finished Launching"); ...
Правильно ли я считаю, что при загрузке основного пера происходит сбой? Это будет просто MainWindow.xib, опять же из коробки, так как первое, что я делаю в методе UIApplicationDelegate.FinishedLaunching (), это загружаю свой собственный viewcontroller и view ... Я почти ожидал, что там может быть ошибка в этом коде, но это не так далеко.
Окружающая среда:
- MonoTouch Professional 3.2.6
- MonoDevelop 2.4.2 выпуск 20402004
- iPod Touch 2nd Gen (4.2.1)
У кого-нибудь есть идеи?