Обновить
65.28

iOS *

Мобильная ОС компании Apple

Сначала показывать
Порог рейтинга
Уровень сложности

Apple Event Unleashed — текстовая трансляция

Время на прочтение4 мин
Охват и читатели12K
До хэллоуина еще вроде бы порядочно, но количество тыкв увеличивается каждую секунду. В них превращаются многочисленные макбуки, причем не только на процессорах с архитектурой x86, но и еще недавно свежие и быстрые модели на Apple M1.

Прошлогодние Macbook и Mac mini оказались просто на удивление удачными. Apple удалось обеспечить на 99% бесшовный переход между платформами. Я сам из любопытства купил Mac mini с M1, надеясь поймать много веселых багов и написать про них. Но вместо этого получил рабочую машинку, которая кодирует видео в пять (!) раз быстрее по сравнению с предыдущим поколением, а потребляет энергии в три раза меньше.

Но были и ограничения. В первую очередь удивлял максимальный объем памяти 16 Гбайт, что для серьезной работы, конечно, негусто. Портов совсем мало. Ну и ядер бы побольше да побыстрее.

Давайте посмотрим, что нам покажет дедушка Тим. Он уже зовет.

image

Читать дальше →

Опыт внедрения многомодульности в (еще) не разросшееся приложение (Часть 1)

Время на прочтение5 мин
Охват и читатели2.5K

Опыт внедрения многомодульности в (еще) не разросшееся приложение (часть 1).

Читать далее

Arduino ракета на 3D принтере — учимся приземлять ракеты дома

Время на прочтение7 мин
Охват и читатели25K

Сегодня я хотел бы поделиться своим опытом проектирования ракеты типа «Батут-М» с управлением вектора тяги (thrust vector control), все детали будем печатать на 3D принтере, а в качестве микроконтроллера использовать Arduino Nano BLE.

Читать далее

Как мы автоматизируем iOS: настройка Gitlab CI + Fastlane + Firebase + ItunesConnect

Время на прочтение17 мин
Охват и читатели18K

В основном идея использования CI/CD для iOS, да и для других платформ, — это автоматизация рутинной работы. Когда мы работаем над одним приложением, можем вручную собирать небольшой проект. Но команда растёт, хочется тратить время эффективнее, чем вручную собирать проект или объяснять новичкам, что же там с Code-signing нужно делать.

Пожалуй, самое рутинное и самое важное занятие, которое берёт на себя CI, — это прогон тестов. Нет зелёных тестов? В master не попадёшь. А с ростом команды вероятность того, что кто-то вольёт в master нерабочий код, будет только увеличиваться. Нужна автоматизация.

В этой статье я хочу подробно рассказать о пути настройки Gitlab CI + Fastlane + Firebase + Testflight. Примеры приводятся на основе одного проекта, в котором участвовали 10 разработчиков. В конце будут описаны проблемы, с которыми мы сталкивались, и их решения.

Для кого будет полезен этот опыт? Для всех, кому нужен CI/CD и кто сидит на Gitlab. Для Github будет другая связка, например с Travis, — остальные компоненты неизменны. В нашей команде все используют Gitlab CI, Fastlane вместо голого xcodebuild для быстроты и удобства разработки, Firebase и Testflight.

Если у нас бесплатный Gitlab и мы укладываемся в лимит Firebase, то получаем бесплатное решение по настройке CI/CD.

Читать далее

iOS. UI. Приёмы. Часть 2

Время на прочтение19 мин
Охват и читатели7K

Привет читателям хабра! В прошлой статье рассказывал про тени и маски у CALayer-ов. В этой расскажу про некоторые подходы при работе с коллекциями и кастомными layout-ами, опять же демонстрируя всё на довольно интересных, на мой взгляд, примерах.

Читать далее

Трекер-маячки для мобильных приложений или как создать новый канал коммуникации с постоянной аудиторией приложения

Время на прочтение4 мин
Охват и читатели2.4K
Задумывались ли вы о том, как повысить CLV (показатель пожизненной ценности клиента) в своем проекте?

Сегодня мы на примерах кейсов расскажем, как формирование эффективного канала коммуникации с аудиторией может реализовать данную задачу.

В публикации:

  • Немного статистики
  • Кейсы
  • Структура технологии Beacon-Connect

Статистика


Согласно исследованиям We Are Social за 2020 год, человек ежедневно проводит в интернете более 7 часов. Другие исследования заявляют о том, что 80% пользователей выходят в онлайн с мобильных устройств, а количество сеансов взаимодействия со смартфоном достигает до 150 в день. Логично, что при таких показателях внимание аудитории отвлечено от офлайн-носителей рекламы.
Читать дальше →

TechnoMeetsIOS. Открытый онлайн-митап по iOS-разработке 15/10

Время на прочтение1 мин
Охват и читатели902

15 октября в 17:00 «Технократия» приглашает на открытый онлайн-митап, посвященный iOS-разработке. В этот раз поговорим про то, что такое Swift Package Manager и для чего он нужен в iOS разработке. Один из спикеров расскажет о том, как поменять профессию и стать iOS-разработчиком. А также мы проведем круглый стол на извечную холиварную тему «Натив vs Кроссплатформа. Кто победит?»

Присоединитесь к нам

Читать далее

Дайджест интересных материалов для мобильного разработчика #414 (4 — 10 октября)

Время на прочтение4 мин
Охват и читатели3.4K
В нашем новом еженедельном дайджесте путь от игрушек на Objective-C к реальным проектам на Swift, опыт масштабирования Airbnb, автоматизация без посредников, квадратный колобок, ведение семейных финансов, главные медиаисточники мобильной рекламы и многое другое!

Читать дальше →

Kotlin Symbol Processing. Работаем с аннотациями по-новому

Время на прочтение9 мин
Охват и читатели11K

Всем доброго дня! С вами Анна Жаркова, ведущий мобильный разработчик компании Usetech. В феврале 2021 года компания Google анонсировали экспериментальный релиз технологии Kotlin Symbol Processing (совместима с Kotlin с 1.4.30), как более эффективную альтернативу KAPT (Kotlin Annotation Processing Tool). Она сразу привлекла внимание многих разработчиков, помышляющих о внедрении аннотаций в мультиплатформенные проекты, несмотря на рекомендации создателей не использовать ее в продакте. В сентябре вышел первый стабильный релиз, и теперь она официальна готова к работе в боевых проектах. В этой статье предлагаю рассмотреть нюансы работы с KSP как в приложениях для Android, так и Kotlin Multiplatform.

Итак, начнем с назначения. Kotlin Symbol Processing предназначена для разработки легковесных плагинов компиляции Kotlin и процессоров аннотаций. Последние нас и интересуют. По сути аннотации нужны в приложении для того, чтобы упростить работу и избавить нас от лишнего кода. Например, когда нам нужно проанализировать код для определенной цели и затем сделать какие-то действия. Либо убрать лишнюю абстракцию из приложения. Гораздо привлекательнее выглядит добавить буквально 1 команду над конкретным объектом/методом/типов, и вместо того, чтобы писать тонны бойлерплейта для каждого случая, поручить это библиотеке, которая сделает все сама.

Давайте посмотрим, как работает в своей механике процессор аннотаций. Например, такой, как мы используем в Java коде.

Читать далее

Как я прошел путь от игрушек на Objective-C к реальным проектам на Swift в большой компании

Время на прочтение6 мин
Охват и читатели5K

Привет, Хабр! Когда я был ещё совсем мал и только тянулся к разработке, я тоже почитывал Хабр и не раз видел статьи, где описывался путь с нуля до оффера. Иногда это были и вовсе удивительные истории о переходе в новую профессию, читая которые словно проживаешь жизнь другого человека.

Но теперь и мне есть о чём рассказать. Сразу скажу, что этот пост вряд ли чем-то удивит людей с опытом 3+ лет, но надеюсь, мой путь поможет другим людям, которые, как и я когда-то, только смотрят в сторону программирования. Ведь все мы, когда-то были начинающими. И так, меня зовут Александр Рубцов, я iOS-разработчик и это история моего пути в разработку…

Читать дальше

Переход на Swift UI и React Native: как за 3 месяца мы запустили новое приложение, быстро набравшее популярность

Время на прочтение7 мин
Охват и читатели7.7K

Всем привет!

На связи Дима Бобылев, CTO СберМаркета. В своей первой статье я рассказывал про взрывной рост нашего сервиса и какие неприятности с нами случились. ​​Знайте, мы не только выжили, но и продолжаем расти дальше и берем новые вызовы. 

Сегодня хочу поделиться историей, как мы запустили новое мобильное приложение. Для старта разработки накопилось достаточно причин: мы хотели развивать мобильную витрину и улучшать показатели конверсии, расширять штат и компетенции специалистов и реализовать подход mobile first. 

Переделывать старый апп во время бурного роста сервиса — все равно, что выходить в открытый космос без скафандра. 

— Разве вы не испытывали удовольствия?

— Иногда. В промежутках между припадками ужаса.

(с) «Сами Боги»‎, Айзек Азимов

Под катом рассказываю, как мы это сделали и что получилось в итоге.  

Читать далее

Написать книгу за год — мечта или реальность?

Время на прочтение18 мин
Охват и читатели4.8K

Раньше я считал, что написать книгу — это история длиной в жизнь. Год назад я бы рассмеялся, если бы кто-то сказал, что к стольки-то годам напишу книгу на 250 страниц. Но с фактом не поспоришь: вот книга «Про доступность на iOS».

Рассказываю, как случайности и хорошая подготовка нашли друг друга.

Длинная история с картинками

Разработка Unity плагинов для iOS и Android

Время на прочтение23 мин
Охват и читатели5.4K
Есть куча ситуаций когда одной Unity недостаточно и нужно использовать возможности платформы. Банально, но до сих пор, в Unity нет работы с галерей и камерой из коробки. Понятно, что Unity не ограничивается мобильными платформами, но 60-70% всех мобильных игр, как бы говорят:

image
Читать дальше →

Ближайшие события

Дайджест интересных материалов для мобильного разработчика #413 (27 сентября — 3 октября)

Время на прочтение3 мин
Охват и читатели2.9K
В новом выпуске поиск выключенных iPhone и локализация строк, оценки приложений самой Apple и свое приложение для Android Auto, ЦОДы в кармане, управление тестированием, зарплаты начинающих разработчиков, игровые метрики, рекордные расходы на приложения и многое другое!

Читать дальше →

iOS 15 позволяет находить даже выключенный iPhone: как это сделано и есть ли опасность

Время на прочтение8 мин
Охват и читатели64K
В iOS 15.0 появилась новая функция: iPhone теперь можно найти при помощи Find My, даже когда iPhone «отключен». Как это работает? Представляет ли функция проблему для безопасности?

Я заметил эту функцию довольно давно на одном из моих iPhone с бетой iOS 15. Вот скриншот, который я сделал в июле. С тех пор интерфейс пользователя немного изменился.


Пользователи далеко не сразу заметили существование этой функции. Нужно обновиться до iOS 15.0, включить в iPhone службы геолокации, войти в аккаунт пользователя, участвовать в сети Find My, и так далее. А под конец совершить самое странное действие, которое сегодня никто не делает: отключить iPhone. Но как только об этом узнал Twitter, популярность темы мгновенно выросла. Как и количество слухов о том, как реализована эта функция.
Читать дальше →

Swift: локализация строк, содержащих формы множественного числа

Время на прочтение3 мин
Охват и читатели8.6K

Задумывались ли вы когда-нибудь, зачем нужен файл .stringsdict?

Приходилось ли вам сталкиваться с грамматическими правилами для множественного числа в приложениях для iOS?

Если вы ответили утвердительно на любой из этих вопросов или вам просто интересно узнать что-то новое о локализации в Swift, то эта статья для вас. Здесь я постараюсь объяснить, чем полезен этот мощный инструмент, предоставленный нам компанией Apple.

Читать далее

Дайджест интересных материалов для мобильного разработчика #412 (20 — 26 сентября)

Время на прочтение3 мин
Охват и читатели2.9K
В этой подборке 0-day уязвимости в iOS и скорость сборки для нее же, StoreKit 2 и Swift 5.5, тестовая ферма и правильная валидация для Android, битва снифферов, игры со шрифтами, подготовка к FAANG, релизные циклы и многое другое!

Читать дальше →

In-app purchases: продвинутые механики работы с покупками на Android и iOS

Время на прочтение6 мин
Охват и читатели4.7K

Привет, я Влад, core разработчик Adapty SDK для Android. Это заключительная статья из серии туториалов по внедрению внутренних покупок в приложениях Google Play и App Store.

В заключительной статье мы решили не замыкаться на одной платформе, а рассказать о продвинутых практиках работы с покупками на iOS и Android и показать, как сервер расширяет наши возможности при работе с подписками и какие преимущества даёт.

Читать далее

Скорость сборки в iOS

Время на прочтение4 мин
Охват и читатели5.7K

Всем привет! Меня зовут Юра, я – iOS-разработчик в hh.ru. В этой статье мы рассмотрим с одну из важнейших метрик для IOS-разработчика – скорость сборки. Я расскажу о том, как мы собираем эти метрики и что потом с ними делаем, и почему мы вообще решили всё это измерять. Видеоверсию можно посмотреть тут.

Читать далее

Дайджест интересных материалов для мобильного разработчика #411 (13 — 19 сентября)

Время на прочтение4 мин
Охват и читатели2.8K
В новом дайжесте новые устройства Apple и автоматизация повышения качества кода, ускорение сборки и Jetpack для Wear OS, 16 советов по UX и UI дизайну, количество приложений на Flutter и React Native, ATT-согласие и многое другое!

Читать дальше →