Я только что узнал кое-что об обновлениях версий и App Store. Только что у меня возникли проблемы, и у пользователей произошел сбой из-за поведения системы iOS, которое я не мог понять раньше. И, что очень важно, в последних версиях iTunes, AppStore и iOS изменили некоторые правила обновления и установки. Теперь это работает следующим образом: - Когда пользователь устанавливает новую версию, все файлы в комплекте загружаются и копируются в предыдущий существующий пакет, но СТАРЫЕ ФАЙЛЫ ИЛИ КОМПОНЕНТЫ НЕ УДАЛЯЮТСЯ (или не все удаляются). Итак, итоговый комплект НЕ равен комплекту свежеустановленной новой версии. - Например, если файл xib/nib локализован на разные языки для новой версии, обновленный пакет будет включать обе версии: одну в корневой папке и другую в каждой локализованной папке. Система, очевидно, будет использовать первый, и только новая установка покажет локализации для этого файла. Одно из моих приложений показывает эту проблему с MainWindow.xib, и поскольку в ссылках и классах есть некоторые изменения, обновленные приложения аварийно завершают работу каждый раз, когда вы пытаетесь запустить, поскольку они используют устаревший объект. Я создал новую версию, изменив имя локализованных файлов xib/nib. Поскольку MainWindow является одним из них, я, конечно, должен изменить ссылку в info.plist.
Хорошо, зная это, вы можете создать новую версию с совершенно другими компонентами в комплекте, который, если файлы предыдущей версии действительно существуют, приложение затем предлагает пользователю возможность их использования. То есть две версии приложения в одной иконке и комплекте. Не очень сложно сделать.
НО, очень странно то, что я думаю, что новая версия iOS и iTunes не допускают понижения версии. Я пытался это сделать, но не получилось. То есть, если вы устанавливаете версию, например 1.2, невозможно AFAIK установить последнюю v1.1 ни на устройстве, ни в iTunes->"Приложения". Таким образом, пакет двойной версии будет жить до переустановки приложения.
person
Gabriel
schedule
11.12.2011