почему приложение бум вылетает на айфоне
На iOS начали вылетать приложения. Как исправить
Вылеты приложений – явление для iOS совершенно нетипичное. Если это происходит, значит, случилось что-то из ряда вон выходящее и банальной перезагрузкой как на Android тут делу не поможешь. Причины у крашей, как ещё называют самопроизвольные вылеты, могут быть самые разные – от конфликтов с системными механизмами и несовместимости с установленной версией ОС до багов в SDK сторонних сервисов, используемых, например, для авторизации. Как правило, такие проблемы быстро устраняются, но сам факт их проявления не может не раздражать.
Вылетают приложения? Виноват Facebook
SDK Facebook – инструмент для сбора аналитики и авторизации социальной сети – стал причиной самопроизвольных вылетов приложений, в которые он был встроен. Это довольно обширный спектр программ, в том числе Spotify, Viber, Tinder, Яндекс.Навигатор и др. В каждом отдельном случае сбой, который характерен только для iOS и, судя по отзывам, совершенно нехарактерен для Android, проявляет себя по-разному. У одних приложение просто не позволяет пройти авторизацию, у других крашится через несколько минут после запуска, а у третьих не запускается вовсе.
Почему вылетают приложения
SDK Facebook крашит большинство приложений для iOS и не затрагивает Android
Facebook не спешит признавать проблему, однако уже выступила с официальным заявлением о планах рассмотреть поступившие жалобы и провести проверку. Разработчики приложений, которые зафиксировали сбои у себя, обвиняют во всём социальную сеть и требуют исправить ситуацию. Учитывая, что подобного рода проблемы проявляются нечасто и вообще довольно масштабны, на их исправление может уйти до нескольких часов. Правда, исправление будет зависеть от того, как скоро Facebook признает вину за собой.
Как ни странно, но в данном случае гарантированного способа решения проблемы вылетов в домашних условиях не существует. Ни удаление Facebook, ни перезагрузка устройства, ни даже его обновление не прекратят крашить приложения. Дело в том, что сбой произошёл именно на серверах социальной сети, и его устранение зависит только от её разработчиков. Поэтому в данном случае всё, что остаётся делать вам, — это успокоиться и просто ждать, пока проблема разрешится. Правда, временные методы всё-таки существуют и ими можно воспользоваться.
Закрываются приложения сами. Что делать
Исправить проблему можно, но нет гарантии, что это получится у вас
Некоторые приложения можно запустить, если включить режим полёта. Для этого перейдите в «Настройки» и активируйте соответствующий пункт. Отсутствие подключения к интернету не даст приложению установить связь с серверами Facebook, которые провоцируют вылеты, и позволит запустить их без проблем. Но только до тех пор, пока вы снова не включите Wi-Fi или LTE. Кроме того, учитывайте, что данный способ актуален только для приложений с офлайн-режимом вроде Spotify, Яндекс.Навигатора, а вот для Tinder уже не подойдёт.
Впрочем, есть и другой способ. Он уже посложнее, но и позволяет запускать даже те приложения, которые требуют подключения к интернету:
В iOS 14 можно менять приложения по умолчанию — как это будет работать?
Разумеется, все эти обходные пути являются временными и весьма и весьма условными. Поэтому, если у вас что-то не получилось, скорее всего, не стоит тратить время и силы на исправление ошибки, тем более что у Facebook есть специально обученные люди, которые вот-вот сами всё сделают.
Что делать, если вылетают приложения на iPhone?
Что делать, если вылетают приложения на iPhone?
Для начала нужно постараться понять, проблема заключается в приложении или же в устройстве, на котором оно установлено. Когда конкретная программа просто перестает работать и закрывается, но при этом работа телефона в целом стабильна, то суть скорее всего в самом приложении или игре.
Если рабочие процессы iPhone замедлились и несколько приложений подряд зависают или телефон не реагирует на команды, то этом случае дело в самом устройстве.
Почему вылетают приложения на iPhone?
Если вылетают все приложения, то:
Возможно не хватает памяти и программы просто не могут начать работать.
Если вылетает конкретное приложение:
Иногда, при добавлении разработчиками каких-либо обновлений, может наблюдаться некоторый сбой в системе.
Что делать?
Есть несколько способов, которые могут помочь решить данную проблему.
Чтобы обновить то или иное приложение нужно:
1. Перейти в раздел обновлений в AppStore.
2. Найти нужное приложение и запустить обновление, нажав на соответствующую надпись.
3. Проверить как теперь работает нужная вам программа.
4. «Сбросить все настройки»
Результатом должно быть возвращение исходных настроек. Конечно, данный метод является самым радикальным и перед ним необходимо сделать резервную копию своих данных.
Если приложение на iPhone или iPad перестает отвечать, неожиданно закрывается или не открывается
Если приложение на iPhone или iPad не работает должным образом, попробуйте следующее.
Закройте и снова откройте приложение
Принудительно закройте приложение. Затем откройте приложение, чтобы проверить правильность его работы.
Перезапустите устройство
Перезапустите iPhone или перезапустите iPad. Затем откройте приложение, чтобы проверить правильность его работы.
Проверка наличия обновлений
Чтобы узнать, доступны ли обновления для приложения, откройте App Store, нажмите значок профиля, затем прокрутите вниз и проверьте наличие обновлений. При отсутствии обновлений для приложения обновите программное обеспечение на iPhone или iPad.
Удалите приложение и загрузите его повторно
Удалите приложение. В результате этого возможна потеря данных, которые хранились в приложении. Затем повторно загрузите приложение. Затем проверьте, устранена ли проблема с приложением.
Дополнительная помощь
Информация о продуктах, произведенных не компанией Apple, или о независимых веб-сайтах, неподконтрольных и не тестируемых компанией Apple, не носит рекомендательного или одобрительного характера. Компания Apple не несет никакой ответственности за выбор, функциональность и использование веб-сайтов или продукции сторонних производителей. Компания Apple также не несет ответственности за точность или достоверность данных, размещенных на веб-сайтах сторонних производителей. Обратитесь к поставщику за дополнительной информацией.
Почему приложение boom вылетает на айфоне
В Facebook мы стремимся к тому, чтобы наши приложения были стабильными, быстрыми и надежными. Мы упорно работали над тем. Чтобы уменьшить количество сбоев в приложении Facebook iOS и повысить его общую надежность. В прошлом большинство сбоев были вызваны программными ошибками. И они всегда сопровождались трассировкой стека. Которая обвиняла строку в коде. Вызвавшую сбой. И всегда предлагала подсказку о том. В чем может быть проблема. По мере того как мы продолжали исправлять сбои. Мы наблюдали снижение нашей измеренной частоты сбоев. Но заметили в обзорах App Store. Что сообщество продолжает проявлять разочарование в связи с сбоем приложения.
Мы углубились в отчеты пользователей и начали теоретизировать. Что могут происходить события вне памяти (OOMs). Оом возникают, когда в системе заканчивается память и ОС убивает приложение. Чтобы восстановить память. Это может произойти независимо от того. Находится ли приложение на переднем плане или на заднем плане. Мы относимся к ним внутренне как к пенам и бумам соответственно — просто немного веселее сказать. Что приложение пошло бум!
С точки зрения пользователя, авария переднего плана OOM (FOOM) неотличима от собственной аварии. В обоих случаях приложение неожиданно завершается, исчезает. И пользователь возвращается на главный экран устройства.
Если скорость потребления памяти резко возрастает. Приложение может быть убито без получения какого-либо сигнала о том. Что память заканчивается. На iOS ОС делает все возможное, чтобы отправить предупреждение памяти в приложение. Но нет никакой гарантии. Что оно всегда будет получено до того. Как ОС вытеснит процесс из памяти. Это не оставляет нам простого способа узнать, что приложение было убито ОС из-за давления памяти.
Как справиться с этой проблемой
Чтобы получить представление о том, как часто наше приложение прекращалось из-за сбоев OOM. Мы начали с перечисления всех известных путей. По которым приложение могло быть прекращено. А затем протоколировали их.
Фактический вопрос, который мы рассмотрели, был таков:
Приложение может потребоваться запустить по следующим причинам:
В процессе исключения, ища случаи, которые не попадали в другие случаи. Мы могли бы затем выяснить. Когда произошел ООМ. Мы также отслеживали, когда приложение было фоновым и передним. Чтобы мы могли точно разбить умы на боны и пены соответственно.
Протоколирование показало. Что на устройствах с меньшим объемом памяти наблюдается более высокая частота Оом. Что было ожидаемо и обнадеживающе. Поскольку процесс подачи заявки с большей вероятностью будет вытеснен на устройстве с ограниченным объемом памяти. Видя корреляцию в нашем протоколировании. Мы проверили наш подход к процессу исключения и продолжили улучшать протоколирование (на самом деле мы сначала не идентифицировали все случаи. Такие как обновление приложений).
Наша первая попытка уменьшить количество Оом заключалась в том. Чтобы попытаться уменьшить объем памяти нашего приложения. Проактивно освобождая память так быстро. Как только мы могли. Как только она больше не была нужна. К сожалению, мы не наблюдали реального изменения числа сбоев ООМ. Поэтому затем мы переключили наше внимание на большие распределения. Начиная с тех. Которые могли бы протекать (никогда не очищаться). Особенно через потенциальные циклы сохранения.
Профилирование использования памяти
Когда мы начали исправлять утечки, мы увидели некоторое снижение частоты сбоев ООМ. Но мы все еще не наблюдали значительного снижения. На которое мы надеялись. Затем мы нырнули в профилировщик памяти в приложении Apple Instruments и заметили повторяющийся шаблон UIWebView. Выделяющий много памяти. Как только приложение открывает любую веб-страницу. Мы также обнаружили. Что память часто не восстанавливалась, даже после того. Как пользователь отошел от страницы и веб-представление было закрыто.
Мы попробовали ряд оптимизаций, таких как очистка кэша и очистка содержимого. Но объем памяти процесса нашего приложения всегда значительно увеличивался после перехода к веб-представлению.
iOS 8 представила новый класс-WKWebView — который фактически выполняет большую часть своей работы в отдельном процессе. А это означает. Что большая часть использования памяти. Связанной с веб-представлением. Не будет отнесена к нашему процессу. В случае нехватки памяти процесс веб-представления может быть убит. И наше приложение с большей вероятностью останется в живых. После того как мы перенесли наше приложение в WKWebView. Мы действительно увидели значительное сокращение Оом в нашем приложении.
Норма распределения
При профилировании использования памяти с помощью инструментов мы также наблюдали случаи использования приложения. Когда приложение временно выделяло значительный объем памяти (
Профилактика регрессий
Даже после перехода на WKWebView мы все еще обнаружили. Что небольшая утечка памяти может значительно повлиять на скорость OOM. Особенно на устройствах с более ограниченным объемом памяти. С нашим частым графиком выпуска и многими командами, вносящими свой вклад в приложение. Было важно как поймать. Так и предотвратить утечку памяти в приложениях. Которые мы выпускаем. Мы использовали инфраструктуру компьютерной томографии, первоначально разработанный для тестирования производительности мобильных устройств. Чтобы регистрировать объем резидентной памяти в процессе. Позволяя КТ-сканированию отмечать регрессии. Как только они были введены.
Это помогло нам сохранить скорость ООМ намного ниже. Чем когда мы впервые начали работать над ним.
Встроенный профилировщик памяти
Последняя ключевая тактика, которую мы использовали в этом проекте. Заключалась в создании встроенного профилировщика памяти. Позволяющего быстро профилировать приложение. Отслеживая все распределения объектов Objective-C. Мы настроили это в CT-Scan и во внутренних сборках нашего приложения.
Вот как это работает: для каждого класса в системе он ведет текущий подсчет того. Сколько экземпляров в данный момент живы.
Мы можем запросить его в любой момент и записать текущее количество объектов для каждого класса. Затем мы можем проанализировать эти данные на предмет любых отклонений от выпуска к выпуску. Чтобы выявить изменения в общих схемах распределения нашего приложения. Обычно помогая выявить утечки. Когда любое количество резко меняется. Нам удалось реализовать это достаточно эффективно. Чтобы это не оказывало заметного влияния на производительность приложения для пользователя.
Вот набросок нашей стратегии и того. Как мы отслеживали распределение NSObject.
Мы начали с создания класса отслеживания распределения. Это довольно просто и просто имеет карту имен классов для подсчета экземпляров с открытыми методами для увеличения и уменьшения количества. Мы решили использовать C++, а не Objective-C. Чтобы свести к минимуму любые выделения ресурсов и нагрузку на процессор нашего трекера.
Затем мы используем замену метода iOS (называемую «swizzling». Используя функцию времени выполненияclass_replaceMethod ) для хранения стандартных методов iOS +alloc и +dealloc в методах – заполнителях –fb_originalAlloc и-fb_originalDealloc.
Затем мы заменяем +alloc и +dealloc нашими новыми реализациями. Которые увеличивают и уменьшают этот экземпляр. Рассчитывая на выделение и освобождение соответственно.
Затем. Пока приложение работает. Мы можем регулярно вызывать метод snapshot. Чтобы регистрировать текущее количество живых экземпляров.
Надежность приложения имеет значение
Как только мы развернули изменения для решения проблем с памятью в приложении Facebook iOS. Мы увидели значительное снижение (F)OOMs и количества пользовательских отчетов о сбоях приложения. Аварии ООМ были для нас слепым пятном. Потому что не существует формальной системы или API для наблюдения за событиями и их частотой. Никому не нравится, когда приложение внезапно закрывается. С помощью некоторых инструментов, миграции на новейшие технологии iOS и немного ума. Чтобы измерить проблему в первую очередь. Мы смогли сделать наше приложение более надежным и гарантировать. Что оно не закроется внезапно. Когда вы открываете веб — просмотр интересной статьи-например, этой!
Дополнительная благодарность Линджи Ян, Ануп Чаурасия, Флинн Хейсс, Партив Патель. Джастин Паскуалини, Клауд Сюй. Гаутам Бадринатан. Ари Грант и многим другим за помощь в снижении уровня пены.
Что делать, если вылетают приложения на iPhone?
Выход новых версий iOS всегда радует. Однако с выпуском бета-версии iOS 15 кажется, что у многих людей возникают сбои приложений. В этом посте будут представлены пошаговые инструкции по устранению сбоев приложений после обновления.
Часть 1. Почему приложение вылетать в бета-версии iOS 15
Вот несколько причин, по которым приложение на бета-версии iOS 15 вылетает:
Часть 2. Что делать, если вылетают приложения на айфоне с бета-версией iOS 15
Вы используете iPhone с бета-версией iOS 15, и у вас возникают проблемы с аварийным завершением работы ваших приложений. Вот несколько полезных шагов по устранению неполадок:
1.Закрыть приложение и запустить его снова
Когда приложение закрывается, попробуйте закрыть и снова открыть. Некоторые приложения, как правило, вылетают приложения при запуске из-за ошибок, обнаруженных в коде приложения.
2. Принудительно перезагрузить iPhone 12/11/X/8/7/6s
Иногда принудительной перезагрузки iPhone достаточно, чтобы ваши приложения снова заработали. Вот шаги для разных моделей iPhone.
iPhone 12, 11, или X
Одновременно нажмите обе кнопки уменьшения громкости и боковые кнопки и удерживайте их, пока не увидите логотип на экране. Затем отпустите их, и все готово.
Кнопку сна или пробуждения сбоку вместе с кнопкой «Домой» необходимо удерживать, пока на экране не появится логотип Apple, а затем отпустить.
3. Обновите приложения до последней версии
Прокрутите, чтобы увидеть, есть ли приложения, которые закрываются на iPhone, в списке доступных обновлений, а затем нажмите «Обновить» справа.
4.Переустановите приложения, если айфон вылетает из приложений на iOS 15
Если вышеуказанный шаг по-прежнему не помогает решить проблему, вы можете подумать о переустановке приложений. Вам нужно будет загрузить последнюю версию вашего приложения из iTunes или App Store.
5. Обновление последней версии iOS
Если приложения iPhone продолжают вылетать на ios 15, возможно, вам стоит подумать об обновлении прошивки вашего устройства. Обновление вашего iPhone до последней версии решит большинство проблем, с которыми вы сталкиваетесь. На этом этапе вы сможете исправить множество ошибок и сбоев.
Вы также можете настроить автоматическое обновление версии iOS, нажав «Автоматические обновления» и проведя по кнопке вправо.
6. Вылетают все приложения на айфоне? Попробуйте исправить систему с помощью ReiBoot
Нажмите кнопку «Пуск» в инструменте Reiboot и выберите «Стандартный ремонт». Затем нажмите синюю кнопку «Стандартный ремонт».
Теперь нажмите «Загрузить», чтобы загрузить прошивку на свой компьютер.
Наконец, нажмите «Начать стандартное восстановление», чтобы запустить процесс восстановления системы, и подождите некоторое время, пока он не будет завершен.
Вопрос: Удаляет ли приложение все данные
Ответ на этот вопрос зависит от конкретного приложения. Если приложение хранит данные на сервере, данные все равно могут быть сохранены. Однако, если приложение этого не сделает, данные, хранящиеся на устройстве, будут потеряны. Многие приложения, такие как Facebook, позволяют вам снова войти в Facebook с другого устройства, сохранив все ваши старые сообщения и обновления статуса. Другие приложения могут удалить все ваши данные при удалении приложения.
Заключение
Вот шаги, которые вы можете сделать, чтобы исправить сбой всех приложений iPhone в бета-версии iOS 15. Мы надеемся, что вы смогли найти нужное решение.