Ответ 1
Я закончил тем, что воссоздал xibs с нуля, и это сработало. Очень расстраивает.
Я искал все и не нашел никакой помощи...
Я построил небольшое тестовое приложение с двумя UIViewControllers
и их соответствующими xibs.
Вещи были прекрасными, затем я внес некоторые изменения в оба xibs
, но когда я строю и запускаю, я получаю старые представления. Я попытался удалить папки сборки, работать в симуляторе и устройстве, очистить все цели и все тот же старый, сломанный xibs
, который я полностью изменил, все еще появляется. Я перезапустил все приложения Xcode и даже мой компьютер.
Раздражение!
EDIT: Я никогда не понимал, в чем проблема. В принципе, как только я построил проект, он вспомнил первые xibs, которые я сделал, и не стал распознавать их изменения. Если бы я сказал контроллеру представления загрузить из другого, действительного имени ниба, он бы пожаловался, что старого не было.
Я переустановил Xcode, и теперь все работает снова. Sheesh.
Я закончил тем, что воссоздал xibs с нуля, и это сработало. Очень расстраивает.
Попробуйте удалить приложение из симулятора (нажмите на значок приложения, чтобы перейти в режим смешивания, затем нажмите X в приложении) и с вашего устройства. Затем переустановите Xcode.
просто очистите сборку, используя
Продукт → Очистка
меню.
Просто немного измените свои XIB файлы, а затем сохраните их, xCode обнаружит модификацию (последняя измененная дата в файловой системе), затем загрузите xib из ее фактического пути, а не из кэша: P
Я только что нашел (и исправил) связанную проблему - та, которая демонстрирует подобные симптомы, но коренная причина которой несколько отличается.
В частности, наблюдаемые мной симптомы заключались в том, что мое приложение iPad первоначально отобразило старое изображение раскадровки для первой страницы и, после небольшой задержки, опубликовано самое последнее редактируемое содержимое доски. Я проделал большую часть вышеупомянутых махинаций безрезультатно.
Проблема в том, что загрузчик iPad сначала просто тупо загружает изображение запуска приложения в экран. Обычно вы настраиваете это изображение как часть ранней административной настройки приложения в XCode. Во время запуска, в то время как конечный пользователь рассматривает контент и размышляет о том, где коснуться экрана, приложение в то же время безумно готовится, не архивирует xib/nib/раскадровку и делает реальную работу готовы.
В идеальной ситуации предоставленное изображение запуска является пикселем для пикселя, таким же, как тот, который генерируется процессом nib-unarchiving. Тем не менее, , если вы забыли обновить образ запуска после обновления доски объявлений, вы увидите сдвиг изображения по завершении разархивирования.
Я бы не стал подозревать, что это проблема, за исключением того, что я прочитал описание Jef Raskin о том, как он сделал именно это на текстовом процессоре Canon Cat, чтобы обеспечить иллюзию мгновенно готового приложения: он использует тот факт, что типичное время реакции человека на запуск приложения составляет порядка семи секунд - достаточно времени, чтобы даже флоппи-система могла загружать и перезаписывать фасад растрового изображения, который устанавливает загрузчик. Иногда полезно читать немного тайной истории. Jef, конечно, позже перейдет к проекту, чье имя было Macintosh, а остальное - история - и эта ошибка.
Не уверен, помогает ли это, но я просто это сделал.
Мне потребовались дни, чтобы разобраться. В моем случае я расширил существующий файл Xib. Изменения, внесенные в конструктор интерфейса, никогда не появлялись в приложении.
В конце концов я нашел причину. У меня была установлена точка просмотра файлов FileOwner под надзором под верхним видом. Когда я увеличил представление, я сделал это как расширение к верхнему виду. Таким образом, при запуске приложения изменения не появлялись.
Изменение выходного окна просмотра в правильном виде (вид сверху в моем случае) сделал трюк, и все это отлично работало...
Я знаю, что steve нашел работу, но проблема не в XIB файлах вообще. Xcode не обновляет файл YouApplication-info.plist до
Если вы откроете его, вы увидите строку: Основное имя файла nib файла. Вы должны изменить значение, чтобы отобразить имя нужного файла NIB
У меня была эта проблема, и это было результатом того, что xcode продолжает копировать ранее скомпилированный xib - хотя исходный файл был удален, кеш сборки не был. Продукт > Очистите, а затем перекомпилируйте его.
У меня просто была эта проблема, просто удалите приложение из симулятора.
Тогда сделайте чистое в своем проекте.
В xCode,
перейдите в меню "Продукт",
выберите "Очистить".
Или просто нажмите Shift + Command + K!
вы можете немного изменить свои XIB, так что xCode обнаружит модификацию через последнюю измененную дату в файловой системе. то он будет загружать xib из своего фактического пути, а не из кэша xCode.
У меня была та же проблема, но я решил ее, изменив дату и время моей системы на сегодняшний день. И снова сохранил xib. Я тестировал локальное уведомление.
Просто предположение, не уверен, что это действительно вызвало это: я закончил XIB, который отлично работал в симуляторе и на реальном устройстве. Затем я изменил его, чтобы он был локализован в Xcode 4.5.1. Изменения, которые я сделал после этого, не синхронизировались с устройством до тех пор, пока я вручную не удалю приложение с устройства и не переустановил его через Xcode.
Удалил производные данные, убрал проект и собрал. Старый XIB был волшебным образом удален. : D