2012-03-03 7 views
14

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

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

ARGC = (целое) 1
ARGC = (символ **) 0xbffff578

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

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

Практически все, что я могу придумать, попробовать.

Debug Navigator:

enter image description here

Edit:

Когда я закомментировать:

@property (сильный, неатомической) UIWindow * окно;

из @interface AppDelegate

и закомментируйте

@synthesize окно = _window;

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

+0

OK, некоторый прогресс. Я пошел на раскадровку и сделал новый контроллер просмотра и изменил точку входа в него. Он загружает это нормально, поэтому что-то не так с моим оригинальным контроллером View. hmmmmmm –

+0

Используете ли вы систему управления версиями, такую ​​как git? Тогда вы можете легко сделать diff и посмотреть, в чем разница между версиями. – FrediWeber

ответ

2

Вы уже сбросили Симулятор?

+0

Да, я тоже это сделал. –

+0

Можете ли вы создать новый проект с тем же именем и скопировать все файлы из старого проекта в новый? – FrediWeber

+0

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

0

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

+0

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

0

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

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

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

+0

Я обновил версию 2x для изображения, которую я использовал для кнопки, потому что понял, что разрешение было неправильным на 1px (то есть на 1px меньше, чем вдвое больше обычного изображения без сетчатки). –

0

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

Это была просто случайная догадка

+0

Нет одинаковых изображений, спасибо за догадки. 1px разное разрешение, хотя! –

17

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

Xcode->Product->Edit Scheme 

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

+2

Это должен быть принятый ответ, я считаю. –

14

Продолжение ответа Ашара (как это сработало для меня).

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

click edit scheme

Затем во всплывающем окне, которое появляется, нажмите кнопку Выполнить [Ваш App Имя] и установите Исполняемые выпадающее меню для [Your App Name] .app, изображенный ниже. click Run<App Name>, set executable

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

0

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

Смежные вопросы