У нас есть приложение, которое уже есть в магазине приложений.
Теперь мы планируем уменьшить размер приложения за счет программного создания всех представлений и удаления соответствующих файлов NIB (XIB).
Проблема в том, что даже когда перо удалено и не вызывается, обновленная версия приложения по-прежнему указывает на старую перо, и возникает подобная проблема (это изображение является лишь примером, проблема одинакова во всем приложение):
В основном представления создаются как IB, так и кодом.
Единственное решение, которое мы пока придумали, - это удалить и переустановить приложение, но просить всех пользователей сделать это нежелательно.Более того, он также удалит их локально сохраненные данные приложений, что является основной проблемой, которую мы пытаемся здесь избежать.
В показанном выше примере для загрузки ViewController использовался следующий код:
Ранее (когда представление было построено с использованием пера):
TheNewVC *theNewVC = [[TheNewVC alloc] initWithNibName:@"TheNewVC" bundle:nil];
[self presentModalViewController:theNewVC animated:YES];
Сейчас (когда представление создается программно, что приводит к указанной выше проблеме):
TheNewVC *theNewVC = [[TheNewVC alloc] initWithNibName:nil bundle:nil];
UINavigationController *addNavCon = [[UINavigationController alloc] initWithRootViewController:theNewVC];
[self presentModalViewController:addNavCon animated:YES];
JFYI, даже если TheNewVC * theNewVC = [[TheNewVC alloc] initWithNibName: nil bundle: nil];
заменяется на TheNewVC * theNewVC = [[TheNewVC alloc] init];
, проблема остается той же.
Какое решение может быть без переустановки приложения. Каким образом мы могли бы программно удалить кэш пера, на который ссылается iOS? ИЛИ, в худшем случае, попросить пользователей сделать это? Любая помощь приветствуется.