Приложение работает нормально в iOS Simulator, вылетает на устройстве - PullRequest
0 голосов
/ 16 апреля 2011

Мое приложение для 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)

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 18 апреля 2011

Гофф приведет меня к правильному ответу.

Я как-то изменил действие сборки MainWindow.xib с Page на Content .... Совершенно ошибка пользователя.

В журнале консоли устройства четко указана проблема (в отличие от аварийного дампа):

<Notice>: Unhandled Exception: MonoTouch.Foundation.MonoTouchException: Objective-C exception thrown.  Name: NSInternalInconsistencyException Reason: Could not load NIB in bundle: 'NSBundle </var/mobile/Applications/11DD588C-E16C-499D-AE0C-E56F59D90391/Assessment.app> (loaded)' with name 'MainWindow'
...