Все потоки
Поиск
Написать публикацию
Обновить
58.7

iOS *

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

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

Как управлять настройками сборки, используя файлы конфигурации Xcode

Время на прочтение3 мин
Количество просмотров3.6K

Как управлять настройками сборки, используя файлы конфигурации Xcode

Читать далее

Но это (не)точно: чего ждать мобильным разработчикам в 2023-м году

Время на прочтение6 мин
Количество просмотров10K

Привет, это Максим Мялкин — управляющий партнёр и руководитель мобильной разработки KTS. Пора планировать год. Это можно сделать, зная текущие тренды — многие из них перекинули мостик из 2022-го года в 2023-й. Разбираем, что происходит в отрасли:

— Затраты на разработку снижаются
— Зарплаты разработчиков под Android стали выше, чем под iOS
— Санкции влияют на продажи техники и закрытость iOS
— Рынок ищет альтернативы App Store и Google Play

Читать далее

Как поддерживать несколько виджетов при использовании WidgetKit?

Время на прочтение3 мин
Количество просмотров750

Как Поддерживать Несколько Виджетов При Использовании WidgetKit?

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

Читать далее

Apple Machine Learning (ML). «Create ML»

Время на прочтение5 мин
Количество просмотров4.3K

2022 год стал революционным для выхода нейронных сетей к широкому потребителю. Помимо голосовых помощников, которые в основном, использовались в качестве игрушки, на рынок вышли потрясающие решения которые высоко были оценены профессионалами – художниками, программистами, писателями и учеными. Наборы высоко технологических решений стали доступны для массового использования. Подавляющее большинство таких решений опирается на технологию перцептрона – устройства, которое реализует нейронные сети на физическом уровне, и известное инженерами уже на протяжении нескольких десятилетий.

Не смотря на то, что теоретические основы преподаются к каждом техническом ВУЗе, разработчики не стремились включать их в свои приложения. Это обусловлено тем, что нужно пройти несколько этапов прежде чем со сконструированной  нейронной сетью можно будет взаимодействовать – разработка нейронной сети – трудоемкий процесс, но ее обучение – еще и чрезвычайно ресурсоемкий, а потому довольно затратный при каждом изменении базовых свойств.

Читать далее

Предварительный просмотр Stateful Вью в SwiftUI

Время на прочтение5 мин
Количество просмотров1.4K

При создании пользовательского интерфейса в SwiftUI мы, как правило, создаем два типа компонентов пользовательского интерфейса: экраны и (переиспользуемые) вью. Обычно мы начинаем с создания прототипа экрана, что неизбежно приводит к Massive ContentView, далее который мы начинаем рефакторить в более мелкие, используемые повторно компоненты.

Читать далее

Новая библиотека, чтобы управлять зависимостями и не дать им управлять вами

Время на прочтение7 мин
Количество просмотров1.4K

Новая библиотека, чтобы управлять зависимостями и не дать им управлять вами

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

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

Читать далее

Более Быстрые Сборки Apple с помощью lld Linker

Время на прочтение5 мин
Количество просмотров1.9K

Более Быстрые Сборки Apple с помощью lld Linker.

Linker - Компоновщик (также редактор связей, от англ. link editor) — инструментальная программа, которая производит компоновку («линковку»): принимает на вход один или несколько объектных модулей и собирает из них исполняемый или библиотечный файл-модуль.

Читать далее

Улучшения Функции Автодополнения в Xcode 14

Время на прочтение4 мин
Количество просмотров2K

Улучшения Функции Автозавершения в Xcode 14

Apple описывает Xcode 14 как «все, что вам нужно» для создания программного обеспечения для своих платформ. Компания реализовала ряд улучшений, таких как несколько обновленных функций автозавершения, для повышения производительности Xcode. Читайте дальше, чтобы узнать, какие из них я считаю особенно важными, и посмотреть, как они работают на практике.

Читать далее

Что лучше: UIKit или SwiftUI?

Время на прочтение3 мин
Количество просмотров12K

Hello, World! Меня зовут Денис. Я IOS разработчик, пишу приложения для App Store. Хочу поделиться своим небольшим опытом на UIKit и SwiftUI.

Первый запуск

На WWDC19 Apple предоставила декларативный фреймворк SwiftUI. Новый фреймворк позволяет уменьшать время на написание UI-составляющей своих приложений.

Читать далее

Жизненный цикл задачи после разработки

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров7.3K

Что есть задача для разработчика?  

Как правило, разработка получает от продукт-менеджера, техническое задание на разработку новой или исправление старой функциональности. Например, это выражено в виде PRD https://en.wikipedia.org/wiki/Product_requirements_document , который может содержать ссылки на Figma, список требований, ссылки и прочие полезности необходимые для реализации задумки. Исходя из этих входных данных, разработчики могут имплементировать задачу и отдать на тестирование в QA команду. По завершению этих циклов, задача готова к релизу.  

Читать далее

Как айтишнику из России получить работу в Германии в 2023 году?

Время на прочтение6 мин
Количество просмотров39K

По данным Ассоциации цифровой индустрии Германии Bitcom, в стране наблюдается огромный дефицит IT-специалистов. В 2021 году количество незакрытых вакансий в различных IT-отраслях составляло 96 тыс., и эта цифра с каждым годом демонстрирует рост.

Поэтому именно для айтишников Германия предоставляет самые лояльные программы миграции. Немецкие компании ведут “охоту за талантами”, в том числе и на специалистов из стран СНГ. Кандидатуры россиян также активно рассматривают, несмотря на геополитическую напряженность. 

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

Типы виз, по которым можно переехать

Самая распространенная виза для айтишников-релокантов в Германии называется Blue Card. От остальных типов виз ее отличает упрощенная процедура получения, быстрые сроки выдачи и возможность ускоренного получения ВНЖ. Ее также используют специалисты из других важных сфер, таких как медицина, инженерия и прочее, но именно IT-специалисты - самая большая группа претендентов на Blue Card. Но не одной Blue Card едины, вообще есть три типа виз: 

Читать далее

Создаем VIPER шаблон с помощью Generamba

Время на прочтение1 мин
Количество просмотров2.2K

Если вам не нравится тратить много времени на создание шаблонов для VIPER можно воспользоваться Generamba.

Читать далее

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

Понимание жизненных циклов вью SwiftUI

Время на прочтение3 мин
Количество просмотров6.2K

Я написал приложение под названием SwiftUI View Lifecycle. Приложение позволяет вам наблюдать, как различные конструкции и контейнеры SwiftUI влияют на жизненный цикл вью, включая время жизни его состояния и время вызова onAppear. Код приложения находится на GitHub. Его можно собрать для iOS и macOS.

Читать далее

Подробный гайд Dynamic Island и Live Activities

Время на прочтение7 мин
Количество просмотров9K

Live Activities появились начиная с версии IOS 16.1 на всех моделях iPhone. Live Activity отображают самые последние данные вашего приложения на экране блокировки iPhone и в Dynamic Island. Это позволяет вашим пользователям видеть самую актуальную информацию которая происходит в вашем приложении. 

Важно понимать что и Dynamic Island и Live Activities сами по себе являются частью ActivityKit фреймворка, поэтому для простоты, дальше в посте я буду называть Dynamic Island и Live Activities просто - Live Activities.

Note1: Live Activity доступен только на iPhone.

Note2: Во время написания поста Dynamic Island доступен только на моделях iPhone 14 Pro и Pro Max.

Читать далее

unit-тестирование здорового человека ч.1

Время на прочтение9 мин
Количество просмотров16K

Обычно тесты не популярны в СНГ. Многие считают их дорогими и тормозящими разработку. Часто это говорят те, кто за разработку принимает написание кода сразу в прод и забывают о нем навсегда

Читать далее

SwiftUI ScrollView и параллакс без тормозов

Время на прочтение8 мин
Количество просмотров4.2K

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

В классическом UIScrollView из UIKit можно реализовать протокол UIScrollViewDelegate - метод scrollViewDidScroll(_ scrollView: UIScrollView) скажет нам, насколько сместился основной контент. Но в SwiftUI ScrollView не имеет делегата, поэтому ловить изменения нужно другими способами.

Я нашёл способ обрабатывать смещение - GeometryReader внутри ScrollView:

Читать далее

SwiftUI в 2022. Что нового?

Время на прочтение4 мин
Количество просмотров5.5K

Всем привет, с вами я, Наиль Габутдинов, iOS разработчик.

Apple выпустила первый SwiftUI в 2019 году, предлагая тем самым новый подход создания приложений в декларативном стиле. SwiftUI 4.0, представленный этим летом на WWDC 2022 вместе с iOS 16 и macOS 13 включает в себя много нововведений для более качественных и универсальных приложений под разные платформы Apple с меньшим количеством кода.

Давайте посмотрим, что нового.

Читать далее

Как превратить единственный SwiftUI контейнер в dropDestination для нескольких Transferable типов?

Время на прочтение4 мин
Количество просмотров1.3K

Новый протокол  Transferable пришел на замену классу NSItemProvider в iOS 16+, macOS 13+ (Ventura и новее), watchOS 9.0+ и tvOS 16+. Познакомиться с некоторыми аспектами применения протокола  Transferable можно в постах Протокол Transferable меняет правила игры для Drag & Drop в SwiftUI и Протокол Transferable в SwiftUI — передача альтернативного контента с помощью ProxyRepresentation.

Проблема в том, что при использовании нового протокола Transferable и нового View модификатора .dropDestination (for: action: isTargeted:); его параметр for не принимает несколько ТИПов "сбрасываемых" объектов одновременно, как это делает выше приведенный View модификатор .onDrop (of: [.plainText, .url, .image] ...).

С помощью перечисления enum DropItem, куда мы включили все возможные объекты (текст StringURL-адрес, изображение в виде двоичного файла Data), нам удалось в SwiftUI с помощью нового протокола Transferable обеспечить перетаскивание и "сброс" (Drag & Drop) в один и тот же контейнер (например,ZStack) различных ТИПов объектов.

Читать далее