Как стать автором
Обновить
40.34
Рейтинг

Разработка под iOS *

Популярная мобильная ОС

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

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В нашей новой еженедельной подборке история Goose Maps и WebView, продолжение неочевидного про Fragment API, перепады высот, эмуляторы, симуляторы, тестовые фермы и многое другое!

Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 881
Комментарии 0

Новости

Auto Layout настройка кодом

Разработка под iOS *Xcode *Swift *
Из песочницы

В iOS-разработке выравнивание контента и интервалы — это то, на что может уйти много времени. Давайте рассмотрим, как устанавливать ограничения с помощью UIKit, обновлять их и разрешать конфликты ограничений.

Ограничение(constraint) - это правило, позволяющее операционной системе размещать ваш компонент пользовательского интерфейса. В UIKit есть 2 основных способа установки ограничений:  StoryBoard и кодом. В данной статье рассмотрим только подход кодом.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 687
Комментарии 0

WebView: забыть нельзя интегрировать

Блог компании Циан Разработка под iOS *Разработка мобильных приложений *Разработка под Android *

При разработке мобильного приложения iOS или Android рано или поздно может встать вопрос: «Реализовать фичу на WebView или же нативно?». В некоторых случаях ответ лежит на поверхности, но, к сожалению, так бывает не всегда. А если очень велик соблазн предоставить пользователям новый функционал поскорее — это может склонить к неправильному решению, с которым впоследствии предстоит что-то сделать.

Сегодня мы хотим поделиться с вами тем, какую стратегию мы выбрали в Циан для себя и как к ней пришли. Посмотрим, где же мы поставили запятую :)

Поехали!
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 2.3K
Комментарии 4

История Goose Maps, первых автономных офлайн карт для Apple Watch

Разработка под iOS *Разработка мобильных приложений *OpenStreetMap *Геоинформационные сервисы *Развитие стартапа
Перевод

Недавно мы запустили офлайн карты для Apple Watch. Проект занял более 2 лет и потребовал огромного внимания со стороны нашей небольшой команды энтузиастов. Мы столкнулись с таким количеством продуктовых и технических сложностей, что просто не может не поделиться этим с вами. Вот наша история.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 3.6K
Комментарии 13

Asychronous Flow Kit — Objective-C тулкит для асинхронных операций

Open source *Разработка под iOS *Objective C *Промышленное программирование *Разработка под MacOS *
Из песочницы

Всем привет.

Это моя первая публикация на Хабре, я взволнован и вообще; и в качестве дебюта хочу представить вам свой пет-проект: программный пакет на Obj-C, который реализует (некоторые) известные мне паттерны асинхронного поведения и претендует обеспечить простые инструменты для утилизации всех имеющихся процессоров.

Вперед, за деталями
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 674
Комментарии 4

Логи в iOS, эпизод 1: os_log

Блог компании Dodo Engineering Программирование *Разработка под iOS *Разработка мобильных приложений *

Представьте, что вы садитесь делать новый проект для iOS/iPadOS/macOS/tvOS/watchOS. Совсем скоро сталкиваетесь с первым багом и, чтобы его понять и исправить, добавляете логи — вызываете print() тут и там. Баг исправили и часть логов убрали, а часть оставили на будущее — полезные, ещё пригодятся.

Спустя пару месяцев работы над проектом консоль в Xcode превращается в водопад из логов. В них сложно разобраться и в них невозможно ориентироваться. Вы принимаете это как данность и в новые логи для удобства добавляете какие-то маркеты по типу "----->" или ещё что-нибудь в этом духе — так их можно будет различить в бесконечном потоке.

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

В этой статье расскажу, как Apple предлагает решать такую проблему.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 1.7K
Комментарии 2

Пишем библиотеку для запроса оценки в AppStore

Разработка под iOS *Разработка под MacOS *

👋 Всем привет. Меня зовут Алексей Межевикин. Я iOS-разработчик c 2011 года. Последнии 4 года занимаюсь разработкой, монетизацией и продвижением своих приложений.

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 826
Комментарии 6

Пишем типизированный DI-контейнер для iOS приложения. Часть 1

Блог компании KTS Разработка под iOS *Разработка мобильных приложений *Swift *
Tutorial

В серии статей я поделюсь своим представлением о DI и попробую решить основную проблему библиотечных решений для DI: нам нужно точно знать, что экран соберётся, зависимости подтянутся, а все ошибки мы отловим на этапе компиляции

Чтобы копнуть вглубь и собрать большинство возможных подводных камней, нужен большой проект со множеством экранов, в идеале разбитый на модули. Предлагаю вам пройти этот путь совместно и написать этот проект вместе со мной.

Я планирую серию статей, где мы шаг за шагом нарастим массу кодовой базы и рассмотрим такие проблемы как циклические зависимости, жизненные циклы, ленивая загрузка и декомпозиция контейнера.

Если вы готовы, погнали! 🏎

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 909
Комментарии 1

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В нашем новом дайджесте переход на Metal и динамические острова, сложность корутин и диплинков, всплывающие окна, A/B-тесты, маркетинг eCommerce приложений, мобильные финансы и многое другое.

Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.2K
Комментарии 2

Жизнь выдающихся программистов. Джей Фриман (saurik)

Блог компании RUVDS.com Программирование *Разработка под iOS *Системное программирование *Разработка под Android *

Прошлая серия про талантливую программистку Джастин Танни не оставила равнодушной хабрасообщество. Поэтому продолжаем заполнять нижние строчки хит-парада выдающихся программистов 21 века. Это особенные личности, которым карьера как будто не важна. В силу высокого IQ, врождённой любознательности и особого характера они не способны выполнять скучные, рядовые задания. Только интересные или важные. И только по своей воле, не по указанию сверху.

Следующий герой — более публичный и известный персонаж, про него даже есть статья в Википедии. Гений реверс-инжиниринга Джей Фриман известен под ником saurik, а славу ему принёс каталог «запрещённых» приложений Cydia (для взломанных айфонов).
Читать дальше →
Всего голосов 42: ↑42 и ↓0 +42
Просмотры 7.7K
Комментарии 0

Переход на Metal

Блог компании 2ГИС Разработка под iOS *Разработка мобильных приложений *Objective C *Геоинформационные сервисы *

Мы закончили регрессионное тестирование и со дня на день собираемся начать раскатывать на бой релиз с включенным Metal. Зачем мы это делаем и как всё происходит — рассказываем в статье. 

Причина первая: уход на пенсию OpenGL для iOS/OSX. В 2018 году Apple объявили, что прекращают поддержку этого графического API, и это только вопрос времени, когда они удалят его из своих операционок и запретят выкладывать в App Store приложения, использующие GLES (OpenGL for Embedded Systems — подмножество API OpenGL для встроенных систем, например, мобильных устройств). А кому надо впопыхах интегрировать незнакомый API? Правильно, никому. Плюс, нет-нет да и случаются какие-то неприятные падения где-то под капотом OpenGL, починка которых сводится к мольбам, что очередной точечный фикс кода всё исправит.

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 4.1K
Комментарии 19

Приглашаем на мобильный митап от команды СберМаркет Tech

Блог компании СберМаркет Разработка под iOS *Разработка под Android *Конференции

Привет! На связи tech-команда СберМаркета. Приглашаем iOS и Android-разработчиков на наш первый офлайн-митап. Он пройдёт 29 сентября в 19:00 в офисе СберМаркета в Москве с пиццей и новыми знакомствами.

Это встречу мы организуем вместе с сообществом Coffee&Code, так что кроме докладов в программе будет сюрприз от ребят. Спойлер: это игра :)

Если у вас не получается прийти на митап в офлайне, присоединяйтесь к онлайн-трансляции.

В программе:

🔶 Александр Соломатов, руководитель группы iOS-разработки в CберМаркете, расскажет про горизонтальную карусель для баннеров.

🔶 Евгений Прокопьев, Android-разработчик в CберМаркете, покажет как работать с анимациями в React Native.

🔶 Валерий Скворцов, iOS-разработчик в СберМаркете, поделится результатами экспериментов с механизмом избегания клавиатуры в SwiftUI.

🔶 Александр Сычев, руководитель мобильной разработки СберЗдоровья, расскажет, как получить максимум от координаторов при решении задач навигации.

Регистрируйся бесплатно по ссылке.

Ждём тебя на митапе!

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 398
Комментарии 0

Как вернуть в iPhone СберБанк, СберБизнес, Аэрофлот и прочие пропавшие из App Store приложения

Платежные системы *Разработка под iOS *Резервное копирование *Гаджеты Софт
Tutorial

В этой статье я опишу способ возврата на iPhone приложений, которые исчезли из App Store и не смогли автоматически установиться на новый смартфон на базе iOS при переезде или восстановлении из резервной копии.

Я использую приложение Сбербанка, поэтому при переселении образа на новый iPhone я, как и тысячи пользователей забаненных приложений, столкнулся с тем, что несколько программ остались на смартфоне только в виде ярлычков. При попытке запустить такое приложение выдавалось сообщение о том, что приложение отсутствует в App Store, и у пользователя два варианта: оставить ярлык до лучших времён или удалить его с рабочего стола.

В поиске решения по восстановлению пропавших программ, я наткнулся на способ, которым хочу поделиться. Способ заключается, условно, в переносе приложения с одного телефона на другой с помощью программы Imazing под MacOS или Windows, но при условии, что данный Apple ID когда-то уже скачивал это приложение.

Читать далее
Всего голосов 21: ↑20 и ↓1 +19
Просмотры 14K
Комментарии 30

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В нашем новом дайджесте открытие Live Activity и ActivityKit, анализ Android-приложений и Flutter 3.3, логи, скука, мобильный CI, приключения BeReal и многое другое!

Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.5K
Комментарии 0

Ionic get started: что важно знать до начала разработки первого приложения

JavaScript *Разработка под iOS *Разработка под Android *
Из песочницы

Мой опыт коммерческой разработки на Ionic небольшой, но и немаленький. Я использую этот инструмент около двух лет: написал самостоятельно два приложения с нуля до публикации и участвовал в командной разработке одного проекта. Если вы хотите научиться делать мобильные приложения на Ionic, то вам следует это знать.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 1.6K
Комментарии 7

ВКС-дайджест: уход Avaya, транскрипция с русского, бесплатная версия Teams для переговорных

Разработка под iOS *IT-инфраструктура *Конференции Видеотехника Видеоконференцсвязь

Продолжаем выборочно публиковать новости из нашего телеграм-канала

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 1.4K
Комментарии 1

iOS-митап в red_mad_robot 6 октября

Блог компании red_mad_robot Разработка под iOS *

Привет всем, кто не пропускал ни одной WWDC! 6 октября в 19:00 мы проведём iOS-митап в московском Робохранилище. Онлайн-трансляция тоже будет, ссылку на неё пришлём на почту и закинем в наши соцсети.

На встрече поговорим про свежие технологии, доступные в новых версиях iOS, обобщённое программирование, метаморфозы архитектуры и нативную навигацию. Митап проводим для джун- и мидл-специалистов, регистрируемся тут.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 527
Комментарии 0

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В новом дайджесте Kotlin Multiplatform на iOS, история Android и ненужные проекты, фермы Яндекса, реклама мобильных приложений и многое другое. Хорошей разработки!

Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 2K
Комментарии 0

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В новом дайджесте новые виджеты и патчинг байт-кода, Cross device SDK и новый Flutter, Code Review для джуниоров, победа Коста Элефтериу, новые платежи в магазинах и многое другое!
Подключайтесь!

Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.8K
Комментарии 2

User-Defined в iOS проекте

Разработка под iOS *Xcode *Swift *
Из песочницы

Разработка iOS приложения - процесс достаточно долгий и скрупулезный, и часто бывают ситуации, особенно в больших проектах, когда код у разработчика на устройстве и у конечного пользователя должен выдавать разные результаты. Это может показаться немного абсурдным, но я сейчас все объясню.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 1.3K
Комментарии 2

Вклад авторов

Работа

iOS разработчик
60 вакансий
Swift разработчик
74 вакансии