Приложение для iPhone не запускается на симуляторе, ошибок нет

У меня проблема, когда мое (простое) приложение для iOS работает нормально, говорит, что работает, но на симуляторе я просто получаю пустой экран. В xCode по-прежнему написано «Запуск XXXX на симуляторе iPhone 5.0», но также выдается «Поток 1: сигнал SIGABRT»;

В нижнем окне нет читаемых ошибок, просто:

argc = (int) 1
argc = (char **) 0xbffff578

Это было абсолютно нормально до сих пор. У меня возникла проблема после попытки заменить несколько изображений и их версии @2x на те, которые я слегка подправил.

Я сделал чистку и очистил папку сборки. Я также очистил папку DerivedData и попытался перезагрузиться. Я пытался добавить точки останова в свой AppDelegate в методе didFinishLaunchingWithOptions, но, похоже, они никогда не достигаются.

В значительной степени закончились вещи, которые я могу придумать, чтобы попробовать.

Навигатор отладки:

введите здесь описание изображения

Редактировать:

Когда я комментирую:

@property (сильное, неатомарное) UIWindow *window;

от @interface AppDelegate

и закомментировать

@synthesize окно = _window;

из @implementation AppDelegate он загружается нормально, хотя и с пустым экраном, потому что я предполагаю, что окно не загружается.


person Richard Williams    schedule 03.03.2012    source источник
comment
Хорошо, некоторый прогресс. Я перешел к раскадровке, создал новый контроллер представления и изменил на него точку входа. Он загружает это нормально, значит, что-то не так с моим исходным контроллером представления. хммммм   -  person Richard Williams    schedule 03.03.2012
comment
Используете ли вы систему контроля версий, такую ​​как git? Тогда вы могли бы легко сделать diff и посмотреть, в чем разница между версиями to.   -  person FrediWeber    schedule 04.03.2012


Ответы (7)


Это может помочь вам, как это помогло мне

Xcode->Product->Edit Scheme

здесь вы можете увидеть «Исполняемые файлы», установленные здесь «yourappname.app», и он начнет работать нормально

person Ashar    schedule 08.10.2012

Расширение ответа Ашара (поскольку это сработало для меня).

Сначала нажмите «Редактировать схему», изображенную ниже.

щелкните схему редактирования

Затем в появившемся всплывающем окне нажмите «Запустить [Имя вашего приложения]» и установите в раскрывающемся меню «Исполняемый файл» значение [Имя вашего приложения].app, как показано на рисунке ниже. нажмите Запустить‹Имя приложения›, установите исполняемый файл

Это решило проблему для меня. Надеюсь, поможет.

person dloomb    schedule 07.03.2013

Вы уже перезагрузили Симулятор?

person FrediWeber    schedule 03.03.2012
comment
Можете ли вы создать новый проект с тем же именем и скопировать все файлы из старого проекта в новый? - person FrediWeber; 03.03.2012
comment
Вероятно, это не помогает понять, что на самом деле происходит. Новый пустой проект работает нормально. - person Richard Williams; 03.03.2012

Почему бы вам не создать пустой проект, проверить, работает ли он, а затем скопировать классы в новый проект? Вероятно, это сработает

person Antonio MG    schedule 03.03.2012
comment
Да, наверное, сработало бы. Не могу понять, что не так, так что, если я столкнусь с этим снова? Кроме того, несмотря на то, что это довольно просто, у меня довольно много настроек и сейчас я работаю, основные данные и все такое. - person Richard Williams; 03.03.2012

Строка 10 вызывает исключение. Было бы очень полезно, если бы вы могли выяснить, что представляет собой конкретное исключение, что вы могли бы сделать, изучив состояние в строке 9.

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

Поскольку вы упомянули, что изменили какое-то изображение, рискну предположить, что приложение, которое вы использовали для его настройки, создало другой формат изображения. Я бы попробовал заменить изображения исходной версией, которая, как вы знаете, работала, а затем начать заменять их модифицированными один за другим, пока вы не изолируете тот, который его ломает. В этот момент вы можете изучить разницу и выяснить, что с ней не так.

person Franci Penov    schedule 03.03.2012
comment
Я обновил @2x-версию изображения, которое использовал для кнопки, потому что понял, что разрешение было на 1 пиксель неправильным (то есть на 1 пиксель меньше, чем в два раза по сравнению с обычным изображением без сетчатки). - person Richard Williams; 03.03.2012

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

Это было просто случайное предположение

person Novarg    schedule 03.03.2012
comment
Нет одинаковых изображений, спасибо за предположение. 1px другое разрешение, хотя! - person Richard Williams; 03.03.2012

Я столкнулся с этим после обновления до XCode 7.2. В моем случае решением было вручную удалить папку сборки и перезагрузить компьютер. Я уверен, что это не универсальное решение, поэтому YYMV.

person William Jockusch    schedule 11.01.2016