Обновленное приложение Telegram оказалось нерабочим для некоторых пользователей iOS 12 Статьи редакции
Не спешите обновляться на Telegram 5.0.8.
Пользователи iPhone пожаловались на проблемы в работе новой версии мессенджера Telegram, которая появилась 28 сентября. На устройствах с актуальной iOS 12 приложение с версией 5.0.8 показывает белый экран и сразу закрывается.
Представители Telegram в Twitter отметили, что проблемы могут проявляться по-разному: у одних пользователей приложение закрывается сразу, а у других остаётся открытым с белым экраном.
Telegram предполагает, что проблема могла возникнуть при миграции данных со старого приложения на новое, которое написано на языке Swift. Компания пока просит пользователей, которые столкнулись со сбоями, установить тестовую версию приложения, в которой проблема будет постепенно исправляться.
Компания временно приостановила автоматическое обновление iOS-версии приложения. Пока установить обновление можно только вручную через страницу приложения в App Store, но лучше этого не делать.
Тестеры у Пашки не проверяют обновление старой версии на новую и работу в разных версиях ОС
Подумаешь, аудитория в 200 миллионов человек
Ну да, ведь что б небыло багов в проде достаточно просто тестить (на самом деле нет).
А что еще надо?
Поднять и настроить облако для CI где билд будет на каждом симуляторе для последней версии системы прогоняться. Этого достаточно.
Nope, но попытка хорошая.
Ok мой ответ был про то, что приложуха крашится, а не про баги.
Приложуха крашится, но не у всех (это видно даже по комментам).
Если причина крэша в косой миграции данных с ObjC в Свифт -> это вопрос исключительно того, на каких конкретно данных оно валится.
Плюс, это кейс обновления, т.е. последняя версия оси + версия приложения X -> последняя версия приложения.
(А они не всегда обновляются инкрементально, может быть гэп на N версий, и только на миграции с одной конкретной версии всё будет лететь к чертям).
В общем, всё немного сложнее. :)
Про какую такую миграцию objc->swift идет речь, не совсем понял? Насчет баз данных. Миграция баз данных тестируется от одной версии модели к другой. Если прилетает апдейт с моделью версии 10, а у пользователя 7, то не происходит миграции 7-10, а происходит 7-8-9-10. И каждый переход должен быть протестирован.
Про ту, которая "официальная версия":
something wrong in the migration from Obj-c app to Swift app.Данные - это не только БД, где миграшки накатываются инкрементом.
То есть ты намекаешь на то, что objc рантайм оставил свой след на девайсах юзеров и отравил собой новую версию на swift? Какая-то антинаучная хуйня, извини конечно. Я уверен, что все намного прозаичнее ;)
Я намекаю на то, что обработка данных базки и локал(или персистент)сторыджа в рантайме obj-c и свифта - сильно разные, причем далеко не всегда напрямую кастуемые между собой.
Как, например, и работа с памятью и потоками.
Начнем с того, что swift как язык программирования, не имеет никакого отношения к тредам и очередям, предоставляемыми Dispatch фреймворком от Apple. Это для затравки, так сказать, чтобы задать нужный тон.
Можно мне пример разного рантайма для CoreData для objc и swift?
Ну и для потоков, например.
Можно почитать про разницу работы ARC в Свифте и Обджектив С, в частности с тем как эффективно работать с strong references, которые, например, прокидываются по дефолту в кордате.
Понятно) вопросов больше нет. Это не ты случайно писал ios приложение для vc? Как-то прям звезды сходятся.
Случайно не я, но пару раз приходилось бедажить убитые арком указатели.