Обновленный бинарный файл iOS не обновляет интерфейс MainView NIB - PullRequest
2 голосов
/ 11 марта 2012

Итак, я собираюсь обновить приложение и столкнулся с проблемой.На моем главном экране у меня есть серия кнопок UIB, которые ведут к различным представлениям.Я создал кнопки UIB с помощью Interface Builder.

В своем последнем обновлении я хочу отключить кнопки, пока соответствующие данные не будут загружены с сервера.По какой-то странной причине любые изменения, которые я делаю в NIB в Интерфейсном Разработчике, не работают.Например, я отключаю кнопку в IB, но она все равно будет активна при сборке и запуске.Как будто он все еще использует NIB из предыдущей версии.Я пытался удалить кнопки из NIB, но они все еще отображаются в симуляторе или устройстве.Единственный способ исправить это, хотя и не идеально, - это удалить все приложение устройства или симулятора и установить свежую копию.Но мои пользователи, вероятно, не собираются этого делать.Они просто загрузят обновление из App Store.

Я также пытался очистить перед запуском, но это тоже не сработало.

Есть мысли ???Это ошибка Интерфейсного Разработчика ??

РЕДАКТИРОВАТЬ: Я полагаю, я мог бы переименовать перо и заставить обновление загрузить новую версию себя.

ОБНОВЛЕНИЕ: Переименование основного файла NIB сработало, заставив устройство / симулятор обновить файл.Я действительно думаю, что это где-то ошибка.Мой код иногда может быть небрежным, но я знаю, как включать / отключать кнопки.

1 Ответ

0 голосов
/ 25 апреля 2013

Это не твоя вина. Это недостаток в том, как Xcode (более чем через год после того, как был задан вопрос выше) устанавливает ресурсы в папке приложения, либо на симуляторе, либо на устройстве, перед запуском. Он копирует новые или измененные ресурсы (что здорово, потому что сокращает время установки), но не удаляет устаревшие. Это поведение укусило меня, когда я отошел от использования файлов .xib в некоторых из моих контроллеров представления - я фактически удалил их из проекта, но контроллеры представления продолжали загружать их в любом случае, что было загадочно и тревожно, пока я не понял, что происходит на.

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

Я все еще работаю над решением; если я подумаю об этом, я обновлю этот ответ, если и когда что-нибудь придумаю.

Эта проблема не возникает при установке из App Store или из файла .ipa - похоже, этот процесс установки выполняет чистую переустановку ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...