Мы распространяем приложение для iOS по беспроводной сети среди наших бета-тестеров. Теперь мы заметили, что если тестер установит точно такую же сборку приложения, которое у него уже есть в системе, приложение больше не запустится. Нет никаких предупреждений о подготовке или чего-то в этом роде. Экран просто становится черным примерно на 1/4 секунды, и приложение снова закрывается. Если мы удалим приложение, после этого установка будет работать нормально. Также нормально работает обновление приложения до новой сборки. Это происходит только в том случае, если мы пытаемся установить точно такую же сборку. Кто-нибудь испытал что-то подобное?
Приложение iOS не запускается после развертывания OTA той же версии
Ответы (2)
Причина сбоя новой версии приложения в том, что изменилась сериализация объектов в кеше. Если это так, вы можете очистить кеш при первом запуске.
Другой причиной может быть старый просроченный профиль.
У меня была такая же проблема. Оказывается, проблема была связана с именованием Bundle ID и Product Name. Суффикс идентификатора пакета должен точно совпадать с названием продукта без пробелов и специальных символов. Многие люди (включая меня) изменили название продукта, чтобы оно отображалось на главном экране iPad. Оказывается, этого делать не следует, и правильным методом является сопоставление имени продукта с суффиксом идентификатора пакета, а затем в Info.plist есть свойство с именем Отображаемое имя пакета, которое можно изменить, чтобы отразить то, что будет отображаться на главном экране приложения iPad. Как только я внес это изменение, ошибка исчезла во всех моих приложениях.
Например:
Идентификатор пакета: com.company.AppName
Суффикс: AppName
Название продукта (настройки сборки): AppName
< strong>Отображаемое имя пакета (Info.plist): Имя приложения (может быть любым по вашему желанию)