Решение ошибки unsupported option '-G' for target 'arm64-apple-ios' при сборке проекта с Firebase и BoringSSL-GRPC

После добавления зависимостей Firebase через CocoaPods в iOS-проект, при сборке я столкнуться с не приятной ошибкой:
Мобильная ОС компании Apple
После добавления зависимостей Firebase через CocoaPods в iOS-проект, при сборке я столкнуться с не приятной ошибкой:
В новом выпуске понимаем и улучшаем производительность SwiftUI, решаем проблему «деградации» YouTube на Android, определяем потолок в разработке, разбираем большую ложь чистой архитектуры, смотрим на рост цифровой веры и многое другое. Заходите!
React Native не справился. Flutter — как глоток свежего воздуха.
Рассказываем, как наша команда переписала большое приложение (60+ экранов, оффлайн режим, карта, камера) на Flutter, с чем пришлось повозиться и почему теперь не жалеем.
В Swift для структурированной конкуренции используются async let
и группы задач (task group). Хотя обе конструкции позволяют запускать параллельные операции, они по-разному управляют жизненным циклом задач. Сегодня мы разберём эти различия на примерах.
В этом дайджесте снова про фоновую работу в Android и обрезку Text в SwiftUI, про опыт внедрения Kotlin Multiplatform и как сделать любую задачу интересной, про акторы, структуры, программы раннего доступа, роботов Hugging Face и многое другое. Заходите!
Привет, Хабр! Мы сотрудники Управления контроля качества компании Capital Group. Непосредственно участвуем в процессах тестирования программных продуктов, которые используются нашими менеджерами, работниками управляющих компаний, гостями и жителями ЖК CG.
Так как релизы наших приложений происходят почти еженедельно и нагрузка на ручных тестировщиков велика, в прошлом году мы внедрили автоматизацию регрессионных тестов. В этой статье расскажем о том, как мы настраивали запуск автотестов для мобильных устройств на реальном девайсе iOS.
Изначально такие автотесты писались и прогонялись на симуляторах, что довольно удобно: можно быстро собирать разные смартфоны и планшеты, проверять работоспособность приложения на различных версиях операционных систем и платформах. Тем не менее проверки должны быть максимально приближены к реальному пользовательскому сценарию взаимодействия с приложением, поскольку, в редких случаях могут возникать ошибки, которые не воспроизводятся на симуляторе. Поэтому, для получения более точных результатов тестирования было принято решение запускать автотесты на реальных устройствах. Со смартфоном Android все получилось быстро и безболезненно, но айфон заставил нас помучаться, этап подготовки показался долгим, сложным и запутанным.
В данной части из серии статей мы погрузимся чуть глубже в недра Swift Concurrency. Как определяется поток, на котором будет выполняться Task? Почему в рамках одной Task поток может меняться? Что такое Executor и на какие типы он делится? За что отвечает TaskExecutor, а за что SerialExecutor? Как определить текущий Executor по коду? Как использовать свой самописный Executor? В этой статье ответим на эти (и многие другие) вопросы.
Привет, Хабр! Меня зовут Артем Клименко, я Lead Android-разработчик в МТС Web Services, занимаюсь продуктом Membrana Kids.
Продукт создавали нативно на каждую платформу, без пересечения кода. В начале года у нас ушло несколько iOS-разработчиков, из-за чего замедлилась поставка новых функций на обеих платформах. Мы решили, что это повод внедрить наконец кроссплатформенную разработку и выровнять поставку фич на обеих платформах. В этом материале расскажу, почему мы остановились на KMP, как погружались в iOS c опытом в Android и как прошло внедрение этого фреймворка. Спойлер: быстрее и проще, чем мы думали.
При проектировании систем, обязательным этапом является расчет нагрузки и стоимости на вашу IT-Систему. Давайте разберемся что это за этап и почему он так важен. А также вместе посчитаем основные показатели нагрузки и договоримся о стоимости решения.
Привет, Хабр! В России набирает популярность новый подход к созданию пользовательских интерфейсов — Backend Driven UI (BDUI). В нём сервер задаёт структуру и поведение интерфейса, а приложение просто отображает его на экране.
BDUI уже используют в своих приложениях многие коллеги из индустрии. Меня зовут Елена Зеликсон, я старший инженер по тестированию в VK. О том, какие преимущества у этого решения и как его применять, подробнее расскажу в этой статье.
Серия статей с очередным разбором MV* шаблонов, но с интересными деталями
Даже опытные разработчики смогут найти что-то новое для себя
Это третья статья из серии,
в которой подробно разбираем из чего состоит MVI
Статья 3: Из чего готовят MVI
- ⚓️ Парадигма Реактивное программирование (Reactive programming)
- 🌯 Как завернуть все в шаурму Intent?
- 🌽 Как собрать урожай состояние?
- 🚜 Зачем трактору нужен редуктор?
- 🏪 Как открыть магазин с перехватчиками?
- 👷🏼♀️ 5 менеджеров и 1 работник
Серия статей с очередным разбором MV* шаблонов, но с интересными деталями
Даже опытные разработчики смогут найти что-то новое для себя
Это вторая статья из серии,
в которой подробно разбираем MVVM
и является ли класс ViewModel
от Google, сущностью ViewModel из шаблона
Статья 2: Подробнее про MVVM
- 🔨 Функции обратного вызова (Callback)
- 🛠 Паттерн Наблюдатель (Observer)
- 📜 MVVM (ViewModel)
- 🔨 Привязка данных (Data Binding)
Серия статей с очередным разбором MV* шаблонов, но с интересными деталями
Даже опытные разработчики смогут найти что-то новое для себя
Это первая статья из серии, которая является подводкой к самому интересному
Вспоминаем что такое MVC и MVP
Статья 1: Введение в MV шаблоны
- 📜 M‑V-подставь_свое
- 📜 MVC (Controller)
- 📜 MVP (Presenter)
- 🛠 Паттерн Команда (Command)
- 📜 MVP (Moxy)
На конференции разработчиков WWDC 2025 Apple представили Foundation Models framework — встроенную в устройства LLM, работающую локально и без доступа к интернету. Модель не увеличивает размер приложения, имеет три миллиона параметров и, по словам Apple, оптимизирована для выполнения специфических задач, таких как обобщение, информирование и классификация, однако не подходит для продвинутых рассуждений. У модели также есть ограничения на контент, описанные на сайте Apple.
Привет, Хабр. Меня зовут Даниил Смирнов. Я руководитель команды Android Core R&D в VK.
Не так давно я уже рассказывал о DeviceHub — инструменте от команды VK для одновременного управления несколькими смартфонами, который позволяет пользователям тестировать мобильные приложения и сайты на фермах, состоящих из сотен гаджетов. Подробнее почитать об этом можно здесь.
Недавно в своём тг-канале я разместил пост о том, что в мобильном приложении Авито в сценарии создания объявления содержится неочевидное решение, которое противоречит ментальной модели пользователя и фактически является дарк-паттерном.
Эксплойты ядра iOS всегда вызывали у меня огромный интерес. За последние годы эксплуатация ядра стала значительно сложнее, и традиционные уязвимости (например, связанные с повреждением виртуальной памяти) стали встречаться реже.
Тем не менее, летом 2023 года felix-pb выпустил три эксплойта под названием kfd. Это были первые опубликованные эксплойты ядра, работавшие на iOS 15.6 и выше.
Разрабатывая джейлбрейк для iOS 14 (Apex), я реализовал собственный эксплойт для уязвимости Physpuppet. В этой статье объясню, как эксплуатировать уязвимость типа physical use-after-free на современных версиях iOS.