Xcode Включает файлы .xib, которые были удалены!

У меня проблема с Xcode, которую я не могу решить. У меня есть контроллер просмотра, который можно вызвать "foobarViewController", для сопровождения был "foobarViewController.xib". В этом контроллере я splish-splashed с видом, чтобы он выглядел так, как я хотел, но решил сделать это прагматично. И поэтому я удалил xib из проекта, очистил все цели, перезапустил xcode, перезапустил COMPUTER, даже удалил старую строчную папку, а STILL, когда компилирую представление, включает объекты, которые были только в XIB файле.

Что здесь происходит?

Ответ 1

Попробуйте эти 3 вещи:

  • Удалить приложение из симулятора

Из Xcode:

  • Меню сборки → Очистить все цели → Проверить оба поля → Очистить
  • Меню XCode → Пустые кеши... → Пусто

Ответ 2

Вы удалили приложение из симулятора? Когда Xcode устанавливает сборку разработки, либо в симуляторе, либо на устройстве, он не удаляет существующие файлы. Он просто перезаписывает файлы и добавляет новые файлы. Это означает, что если вы удалите файл из Xcode, он останется в уже установленном встроенном продукте. Решение заключается в удалении продукта с вашего тренажера/устройства перед установкой.

Ответ 3

Вы уверены, что оно было удалено? Возможно, вы удалили ссылку на него. Откройте папку проекта и убедитесь, что ее нет. Еще лучше сделайте поиск в центре внимания для имени файла.

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

Ответ 4

AppDelegate загружает MainWindow.xib, а в MainWindow он включает ваш foobarViewController.xib, поэтому ваша проблема возникает. Попробуйте отредактировать MainWindow, укажите его в свой класс контроллера вместо включения xib.

Ответ 5

Отправляй сообщение: Как очистить кеши и очистить все цели Xcode 4

"Command-Option-Shift-K, чтобы очистить папку сборки. Еще лучше, выйдите из Xcode и очистите файл Library/Developer/Xcode/DerivedData вручную. Удалите все его содержимое, потому что есть ошибка, при которой Xcode будет запускать старую версию вашего проекта, что где-то там.

В симуляторе выберите iOS Simulator > Reset Контент и настройки.

Наконец, для полноты вы можете удалить содержимое /var/folders; там также происходит некоторое кэширование ". - Matt

Ответ 6

В XCode4 Command-Option-Shift-K должен выполнить задание. То же, что и продукт, нажмите клавишу выбора, теперь опция "Очистить" изменится на "Очистить папку сборки...", выберите эту опцию.

Ответ 7

Xcode кэширует xib файлы. Возможные решения:

  • Если вы переименуете свой контроллер просмотра, представление будет содержать только новый xib файл. Старые элементы не отображаются.

  • В случае, если вы решите избавиться от xib файла и сделать вид программным, вы можете переопределить метод loadView в вашем viewController. Переопределите этот метод только тогда, когда вы не хотите загружать представление из xib файла и хотите, чтобы программный вид был создан.

    • (void) loadView { self.view = [[[UIView alloc] init] autorelease]; }

Проблема с удалением приложения с устройства/симулятора и последующим его построением: пользователи, которые уже имеют приложение на своем устройстве и устанавливают более новую версию поверх него, будут продолжать видеть более старый xib.

Ответ 8

В iOS Simulator Меню > Контент и настройки

Достаточно.

Ответ 9

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

Чтобы решить эту проблему, для каждого View Controller, для которого вы удалили .xib файл, добавьте следующий код:

-(NSString*) nibName
{
    return nil;
}