Обновление приложения на устройстве с удалением .xib приводит к сбою приложения
У меня установлена более старая версия приложения на устройстве. В моей новой версии я больше не использовал файл .xib, поскольку он изменился с чего-то сложного на простое представление таблицы, и я могу создать его экземпляр в коде.
Однако при сборке и запуске на устройстве происходит сбой, поскольку он все еще пытается загрузить контроллер из файла .xib, содержащегося в более старом приложении, и жалуется на отсутствие пары ключ / значение для UILabel.
Например:
SomeViewController.h (UITableViewController)
SomeViewController.m
SomeViewController.xib (удалено в новой версии)
SomeViewController *controller = [[SomeViewController alloc] initWithStyle:UITableViewStylePlain];
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self)
{
}
return self;
}
Несмотря на то, что я вызываю initWithStyle, он все равно пытается загрузить уже существующий .xib!
Мое текущее решение заключается в создании SomeViewController.xib с пустым UITableView.
Однако я подозреваю, что когда пользователи обновляют приложение из магазина приложений, оно перезаписывает все приложение и ничего не оставляет.
Это правда? Перезаписывают ли обновления приложения существующее приложение или оно оставляет устаревшие файлы .xib?
Теперь я должен протестировать старую версию с каждым другим представлением, чтобы убедиться, что никаких других проблем не осталось.
Прочитав текст разработчика на NIB:http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html
Возможно, я нашел ошибку?
Другой вариант для меня - переименовать класс в что-то другое, например SomeController, чтобы избежать автоматической загрузки связанного файла .xib.