Я работаю с Objective-C и специализируюсь на том, за что редко берутся охотно: на возрастных приложениях Apple, которые давно в бою и продолжают работать на бизнес. Когда к вам попадает код с ручным управлением памятью, ворохом категорий и вызовами давно снятых API, я разбираюсь в его логике, восстанавливаю картину принятых когда-то решений и возвращаю проекту предсказуемость без опасного переписывания целиком. Опыт в больших кодовых базах под iPhone и Mac подсказывает, где обычно сосредоточена хрупкость и как вносить изменения, не обрушив соседние модули.
Основная часть моих задач это восстановление и обновление, а не разработка с нуля. Разбираю краши по расшифрованным отчётам и в профилировщике Instruments, закрываю циклы удержания и гонки потоков, меняю снятые Apple вызовы на актуальные и заново собираю проект под свежие Xcode и SDK. Если планируется переход на Swift, веду его аккуратными шагами: поднимаю мост взаимодействия, добавляю к классам Objective-C аннотации nullability и обобщения, переношу функциональность по частям, чтобы выпуск версий не прерывался. Отдельно закрываю рутину сопровождения: держу приложение в магазине, адаптирую под новые релизы операционных систем и чиню сборки, отвалившиеся из-за сертификата, профиля подписи или обновлённой зависимости.
Если приложение на Objective-C будто заморожено, потому что подступиться к нему боятся, это как раз мой профиль. Пришлите описание проблем и доступ к репозиторию, а я начну с короткого разбора состояния кода и предложу понятный план с минимальными рисками.
— Устранение крашей, утечек памяти и циклов удержания в Objective-C
— Приведение в порядок унаследованного кода iOS и macOS
— Связка Objective-C и Swift, поэтапный переход
— Замена снятых API и восстановление сборок Xcode
— Сопровождение в App Store, релизы и адаптация под новые ОС
— Диагностика через Instruments и расшифрованные логи крашей
Основная часть моих задач это восстановление и обновление, а не разработка с нуля. Разбираю краши по расшифрованным отчётам и в профилировщике Instruments, закрываю циклы удержания и гонки потоков, меняю снятые Apple вызовы на актуальные и заново собираю проект под свежие Xcode и SDK. Если планируется переход на Swift, веду его аккуратными шагами: поднимаю мост взаимодействия, добавляю к классам Objective-C аннотации nullability и обобщения, переношу функциональность по частям, чтобы выпуск версий не прерывался. Отдельно закрываю рутину сопровождения: держу приложение в магазине, адаптирую под новые релизы операционных систем и чиню сборки, отвалившиеся из-за сертификата, профиля подписи или обновлённой зависимости.
Если приложение на Objective-C будто заморожено, потому что подступиться к нему боятся, это как раз мой профиль. Пришлите описание проблем и доступ к репозиторию, а я начну с короткого разбора состояния кода и предложу понятный план с минимальными рисками.
— Устранение крашей, утечек памяти и циклов удержания в Objective-C
— Приведение в порядок унаследованного кода iOS и macOS
— Связка Objective-C и Swift, поэтапный переход
— Замена снятых API и восстановление сборок Xcode
— Сопровождение в App Store, релизы и адаптация под новые ОС
— Диагностика через Instruments и расшифрованные логи крашей