Приложение вылетает при загрузке с ошибкой в ​​main.m - PullRequest
11 голосов
/ 22 октября 2011

Я пытаюсь восстановить приложение, которое случайно удалило и сумело сделать это через органайзер, однако теперь, когда я пытаюсь запустить его на симуляторе или iphone, оно вылетает с ошибкой, появляющейся в основном. м файл:

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

Ошибка возникает в «return UIApplicationMain (argc, argv, nil, NSStringFromClass ([класс AppDelegate]));» раздел файла с ошибкой SIGABRT. Я использую Xcode 4.2 с ARC на. Я тестирую его на IOS 4.3 и IOS 5.0. Приложение работало раньше и фактически находится в магазине приложений прямо сейчас. Все поможет

Ответы [ 9 ]

8 голосов
/ 06 ноября 2011

Если вы загляните в отладчик, он, вероятно, скажет вам, что вызвало ошибку. Это случилось со мной раньше, из-за недостатка памяти (слишком много элементов на экране одновременно). В любом случае посмотрите на целевой отладчик, что вызвало ошибку.

7 голосов
/ 22 октября 2011

Обычно, когда я получаю похожие ошибки, это связано с тем, что в Интерфейсном Разработчике есть неработающая ссылка.Возможно, вы изменили имя IBOutlet и забыли подключить его снова.

5 голосов
/ 27 ноября 2014

Если вы используете раскадровки, убедитесь, что вы не подключили дубликаты ссылок или ссылок, которых больше нет в вашем коде.Другими словами, если вы перетащили кнопку на вашем контроллере представления в свой код, а затем свойство или метод вообще изменились, вы можете получить эту ошибку.

enter image description here

2 голосов
/ 15 июня 2012

случилось со мной, заглянул в отладчик и обнаружил, что там упоминается имя, которое я дал действию, но удалил его после того, как я создал его, viewController .h и .m, поэтому по какой-то причине старое действие было создано с другим именемвсе еще где-то задержался ... поэтому я скопировал свой код и вставил его в новую прогу.Конечно, это было очень маленькое приложение, поэтому было легко ...

1 голос
/ 19 июля 2013

Сбой при отладчике LLDP Я переключился на GDB, и затем он заработал.

Я тоже застрял с этой проблемой, но не все время только на 1/2 запуска.Абсолютно без ошибок, в консоли нет ничего, только сигнал SIGARBT.Мой AppDelegate даже не пошел в didFinishLaunchingWithOptions.Возвращение отладчика обратно в GDB (Изменить схему…> (вкладка «Информация») Отладчик> LLDB) решило проблему.

1 голос
/ 29 июля 2012

Это случилось со мной, и все, что я сделал, это изменил название моего изображения, а затем изменил его позже. Но я забыл отключить другое имя после того, как удалил его. Однако, как только я отключил его от интерфейса, он заработал.

1 голос
/ 22 октября 2011

Не уверен, что сообщение об ошибке - это было бы полезно.Но вы импортируете AppDelegate.h?

1 голос
/ 22 октября 2011

Я видел это раньше, если следующие настройки сборки отсутствуют. OTHER_LDFLAGS = -ObjC -all_load

Это находится под Связыванием в цели.

0 голосов
/ 05 апреля 2013

Чтобы исправить это, щелкните на основной плате, т. Е. В Интерфейсном Разработчике, выберите вкладку «Инспектор файлов» и снимите флажок «Использовать автоматическое расположение». В качестве альтернативы, вы можете настроить таргетинг на устройства с iOS 6.0 + и изменить минимальный целевой показатель, если вам абсолютно необходимо использовать автоматическое расположение. Эта проблема возникает из-за несоответствия версий xcode и исходного кода обучающих программ.

...