Сложности с многопоточностью и синхронизацией данных, особенно при работе с UI. Неправильное управление жизненным циклом компонентов приводило к утечкам памяти и крашам. Оптимизация производительности на старых устройствах тоже была вызовом. Интеграция со сторонними SDK иногда требовала обходных решений due to lack of documentation or unexpected behavior. Поддержание актуальной кодовой базы при быстро меняющихся требованиях и технологиях тоже представляло трудность.