Ошибка приложения при загрузке с ошибкой в main.m
Я пытаюсь восстановить приложение, которое я случайно удалил и сумел сделать это через организатор, однако теперь, когда я пытаюсь запустить его на симуляторе или iphone, он падает с ошибкой, появляющейся в основном. m файл:
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
Ошибка возникает в "return UIApplicationMain (argc, argv, nil, NSStringFromClass ([AppDelegate class])); раздел файла с ошибкой SIGABRT. Я использую Xcode 4.2 с ARC. Я тестирую его на ios 4.3 и ios 5.0. Приложение работало до и на самом деле, сейчас находится в магазине приложений. Все, что угодно поможет
Ответы
Ответ 1
Если вы посмотрите в отладчике, это, вероятно, скажет вам, что вызвало ошибку. Это случилось со мной раньше, из-за недостаточной памяти (слишком много предметов на экране сразу). В любом случае, посмотрите на целевой отладчик на то, что вызвало ошибку.
Ответ 2
Обычно, когда я получаю подобные ошибки, это происходит потому, что в построителе интерфейса есть некорректная ссылка. Возможно, вы изменили имя IBOutlet и забыли подключить его снова.
Ответ 3
Если вы используете раскадровки, убедитесь, что вы не подключили дублирующие референц-каналы или контрольные точки, которых больше нет в вашем коде. Другими словами, если вы перетащили с кнопки на своем контроллере представления в свой код, а затем свойство или метод вообще изменились, вы можете получить эту ошибку.
![enter image description here]()
Ответ 4
случилось со мной, посмотрел в отладчике и обнаружил, что он упоминал имя, которое я дал для действия, но удалил его после того, как создал его как viewController.h и .m, так что по какой-то причине старое действие создано с другим именем, все еще где-то задержался... поэтому я скопировал свой код и вставил его на новую прогу. Конечно, это было очень маленькое приложение для просмотра, так что было легко...
Ответ 5
Я видел, как это произошло раньше, если нет следующих настроек сборки. OTHER_LDFLAGS = -ObjC -all_load
Это связано с привязкой к цели.
Ответ 6
Не уверен, что сообщение об ошибке - это было бы полезно. Но вы импортируете AppDelegate.h?
Ответ 7
Это случилось со мной, и все, что я сделал, изменило название моего изображения и изменило его позже. Но я забыл отключить другое имя после того, как удалил его. Однако, как только я отключил его от конструктора интерфейса, он сработал.
Ответ 8
Сбой с отладчиком LLDP Я перешел на GDB, а затем он сработал.
Я тоже застрял в этой проблеме, но не все время запуска только 1/2. Абсолютно никакой ошибки в консоли нет ничего, просто сигнал SIGARBT. Мой AppDelegate даже не пошел в didFinishLaunchingWithOptions. Изменение отладчика обратно в GDB (Edit Scheme... > (вкладка Info) Debugger > LLDB) решило проблему.
Ответ 9
Чтобы исправить это, нажмите на mainstoryboard, то есть Interface Builder, выберите вкладку "Инспектор файлов" и снимите флажок "Использовать автозапуск".
Кроме того, вы можете настроить таргетинг на iOS 6.0 + только на устройства и изменить минимальную цель, если вы абсолютно должны иметь автозапуск.
Эта проблема возникает из-за несоответствия в версиях xcode и источника учебных программ.