Рубрика «iOS разработка» - 4

Всем привет. Сегодня хотим поделиться переводом подготовленным в преддверии запуска курса «iOS Разработчик. Продвинутый курс». Поехали!

Оборачиваем последовательности в Swift - 1

Одним из основных преимуществ протокольно-ориентированного дизайна Swift является то, что он позволяет нам писать общий код, который совместим с широким диапазоном типов, а не специально реализован для каждого. Особенно, если такой общий код предназначен для одного из протоколов, который можно найти в стандартной библиотеке, что позволит использовать его как со встроенными типами, так и с пользовательскими.

Читать полностью »

Вводные слова

Как бы ни ругали Apple за закрытость платформы и самой экосистемы, некоторые их решения являются исключением. На рынке много стриминговых сервисов, но предоставляющих полноценный SDK для стриминга в сторонних продуктах крайне мало, для российского рынка список официально доступных SDK ограничивается Deezer и Apple Music. Конечно, когда на наш рынок придёт Spotify, на один доступный SDK станет больше, но пока есть два игрока и только один из них имеет широкую пользовательскую базу.

Так получилось, что я имел опыт работы с Deezer SDK под Android и прямо сейчас активно работаю с SDK Apple Music (MusicKit) под iOS. И главное отличие от опыта с Deezer состоит в том, что MusicKit — это верхушка айсберга, она же публично доступный API. В отличие от Deezer, где повторить большую часть функциональности официального приложения — это просто длительный процесс, повторить функциональность даже веб-страницы Apple Music, используя только публичный API, невозможно. Даже если Apple использует MusicKit в своих решениях, то кроме него она использует ещё массу недокументированных API запросов и приватных API, которые простым смертным использовать запрещено.

В статье я расскажу про работу с MusicKit с точки зрения разработчика в контексте реализации достаточно "простых задач": поискать в каталоге, показать картинки в результатах поиска, получить песни, рекомендации и даже проиграть какую-то музыку. Забегая вперёд скажу, что многое из рассказанного будет справедливо и для работы с Apple Music в Android и Javascript.

Если понадобится, готов дать детальные ответы с кодом на вопросы в комментариях.

Читать полностью »

Чего ждать, если хочешь стать iOS-разработчиком - 1

Со стороны iOS разработка может казаться закрытым клубом. Для работы обязательно нужен компьютер от Apple, экосистему пристально контролирует одна компания. Изнутри тоже иногда слышны противоречия — кто-то говорит, что язык Objective-C старый и неповоротливый, а кто-то, что новый язык Swift слишком сырой.

Тем не менее, разработчики идут в эту сферу и попав туда, остаются довольны.

В этот раз о своем опыте нам рассказали Марат Нургалиев и Борис Павлов — как они учились профессии, как проходили первые собеседования, почему получали отказы. А экспертом выступил Андрей Антропов — декан факультета iOS-разработки в GeekBrains.
Читать полностью »

На седьмой встрече iOS-разработчиков в нашем офисе обсуждали самописный remote cache для iOS, feature toggles, как использовать proxy-объекты в разработке тёмных тем для приложений, и рассмотрели разные варианты развития карьеры разработчика (фриланс, работа на корпорацию, работа на свой проект). Этот пост — отчёт о том, как прошёл митап. Внутри — видеозаписи, презентации спикеров, ссылки на фотоотчёт и отзывы участников встречи.

Remote cache для iOS, feature toggles, тёмные темы и карьера разработчика — отчёт с Avito iOS Meetup #7 - 1

Читать полностью »

Создание анимаций это здорово. Они являются важной частью iOS Human Interface Guidelines. Анимации помогают привлечь внимание пользователя к важным вещам или попросту делают приложение не таким скучным.

Существует несколько способов реализовать анимацию в iOS. Вероятно, самым популярным способом является использование UIView.animate(withDuration: animations:). Вы можете анимировать слой изображения с помощью CABasicAnimation. Кроме того, UIKit позволяет настроить кастомную анимацию для отображения контроллера с помощью UIViewControllerTransitioningDelegate.

В этой статье я хочу обсудить еще один захватывающий способ анимирования вьюшек — UIViewPropertyAnimator. Данный класс предоставляет гораздо больше функций управления, чем его предшественник UIView.animate. С его помощью можно создавать временные, интерактивные и прерываемые анимации. Кроме того, имеется возможность быстрой смены аниматора.
Читать полностью »

image

Привет! На связи Денис из Apphud – сервиса по аналитике возобновляемых подписок для iOS-приложений.

Как вы знаете, на WWDC 2019 Apple анонсировали свой новый декларативный фреймворк SwiftUI. В этой статье я попробую рассказать как с помощью SwiftUI сделать экраны оплаты и реализовать функционал авто-возобновляемых подписок.Читать полностью »

image

Всем привет! Меня зовут Денис, я разрабатываю Apphud – сервис по аналитике авто-возобновляемых подписок в iOS-приложениях.

В данной статье я расскажу как настроить, реализовать и валидировать авто-возобновляемые подписки в iOS 12 и iOS 13. Бонусом расскажу о тонких моментах и подводных камнях, которые не все разработчики учитывают.Читать полностью »

Все, что вы хотели знать о SwiftUI, но боялись спросить - 1

Привет! Меня зовут Ренат, я разрабатываю сервис по аналитике подписок в iOS – Apphud.

Как вы знаете, Apple на WWDC 2019 представила свой новый фреймворк SwiftUI, который призван в будущем заменить (или нет?) привычный нам UIKit. SwiftUI позволяет описывать интерфейс приложений в декларативном стиле и сильно сокращает количество кода.

Apple уже представила несколько интересных туториалов на английском языке с множеством примеров. Я же постараюсь рассказать о новом фреймворке в форме вопросов и ответов. Итак, поехали.Читать полностью »

Всем привет, меня зовут Денис, мы разрабатываем сервис по аналитике подписок iOS-приложений – Apphud.

На WWDC 2019 Apple представила новый способ взаимодействия с интерфейсом вашего приложения: контекстные меню. Они выглядят так:

Как реализовать контекстные меню (Context Menu) в iOS 13 - 1

В этой статье мы рассмотрим некоторые тонкости их использования и научимся их делать.Читать полностью »

Магия SwiftUI или о Function builders - 1

Вы пробовали добавить в VStack больше 10 вьюх?

var body: some View {
        VStack {
            Text("Placeholder1")
            Text("Placeholder2")
            // ... тут вьюшки с 3 по 10 . . .
            Text("Placeholder11")
        }
    }

Я попробовал — это не компилируется. Да, я тоже сначала был удивлен и погрузился в изучение форума Swift и гитхаба. Результатом моего изучения стало — "все равно не компилируется ¯_(ツ)_/¯ ". Но подождите, давайте разберемся почему.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js