Как управлять настройками сборки, используя файлы конфигурации Xcode
Как управлять настройками сборки, используя файлы конфигурации Xcode
Мобильная ОС компании Apple
Как управлять настройками сборки, используя файлы конфигурации Xcode
Привет, это Максим Мялкин — управляющий партнёр и руководитель мобильной разработки KTS. Пора планировать год. Это можно сделать, зная текущие тренды — многие из них перекинули мостик из 2022-го года в 2023-й. Разбираем, что происходит в отрасли:
— Затраты на разработку снижаются
— Зарплаты разработчиков под Android стали выше, чем под iOS
— Санкции влияют на продажи техники и закрытость iOS
— Рынок ищет альтернативы App Store и Google Play
Как Поддерживать Несколько Виджетов При Использовании WidgetKit?
Наличие нескольких виджетов с различными функциональными возможностями - довольно распространенная особенность для приложений в наши дни. Например, в приложении для покупок может быть виджет, показывающий сегодняшнюю акцию, и другой виджет, показывающий статус заказа пользователя.
2022 год стал революционным для выхода нейронных сетей к широкому потребителю. Помимо голосовых помощников, которые в основном, использовались в качестве игрушки, на рынок вышли потрясающие решения которые высоко были оценены профессионалами – художниками, программистами, писателями и учеными. Наборы высоко технологических решений стали доступны для массового использования. Подавляющее большинство таких решений опирается на технологию перцептрона – устройства, которое реализует нейронные сети на физическом уровне, и известное инженерами уже на протяжении нескольких десятилетий.
Не смотря на то, что теоретические основы преподаются к каждом техническом ВУЗе, разработчики не стремились включать их в свои приложения. Это обусловлено тем, что нужно пройти несколько этапов прежде чем со сконструированной нейронной сетью можно будет взаимодействовать – разработка нейронной сети – трудоемкий процесс, но ее обучение – еще и чрезвычайно ресурсоемкий, а потому довольно затратный при каждом изменении базовых свойств.
При создании пользовательского интерфейса в SwiftUI мы, как правило, создаем два типа компонентов пользовательского интерфейса: экраны и (переиспользуемые) вью. Обычно мы начинаем с создания прототипа экрана, что неизбежно приводит к Massive ContentView, далее который мы начинаем рефакторить в более мелкие, используемые повторно компоненты.
Новая библиотека, чтобы управлять зависимостями и не дать им управлять вами
Мы рады открыть исходный код совершенно новой системы управления зависимостями для приложений на Swift. Она позволяет легко распространять зависимости вглубь вашего приложения эргономичным, но в то же время безопасным способом. Как только вы начнете управлять ими, то сразу же сможете писать более простые тесты, обнаруживать в превью Xcode мощь, не имеющую себе равных, улучшать время компиляции и многое другое.
Присоединяйтесь к нам, чтобы получить краткий обзор и подумать над добавлением библиотеки в свое приложение уже сегодня!
Более Быстрые Сборки Apple с помощью lld Linker.
Linker - Компоновщик (также редактор связей, от англ. link editor) — инструментальная программа, которая производит компоновку («линковку»): принимает на вход один или несколько объектных модулей и собирает из них исполняемый или библиотечный файл-модуль.
Улучшения Функции Автозавершения в Xcode 14
Apple описывает Xcode 14 как «все, что вам нужно» для создания программного обеспечения для своих платформ. Компания реализовала ряд улучшений, таких как несколько обновленных функций автозавершения, для повышения производительности Xcode. Читайте дальше, чтобы узнать, какие из них я считаю особенно важными, и посмотреть, как они работают на практике.
Hello, World! Меня зовут Денис. Я IOS разработчик, пишу приложения для App Store. Хочу поделиться своим небольшим опытом на UIKit и SwiftUI.
Первый запуск
На WWDC19 Apple предоставила декларативный фреймворк SwiftUI. Новый фреймворк позволяет уменьшать время на написание UI-составляющей своих приложений.
Что есть задача для разработчика?
Как правило, разработка получает от продукт-менеджера, техническое задание на разработку новой или исправление старой функциональности. Например, это выражено в виде PRD https://en.wikipedia.org/wiki/Product_requirements_document , который может содержать ссылки на Figma, список требований, ссылки и прочие полезности необходимые для реализации задумки. Исходя из этих входных данных, разработчики могут имплементировать задачу и отдать на тестирование в QA команду. По завершению этих циклов, задача готова к релизу.
По данным Ассоциации цифровой индустрии Германии Bitcom, в стране наблюдается огромный дефицит IT-специалистов. В 2021 году количество незакрытых вакансий в различных IT-отраслях составляло 96 тыс., и эта цифра с каждым годом демонстрирует рост.
Поэтому именно для айтишников Германия предоставляет самые лояльные программы миграции. Немецкие компании ведут “охоту за талантами”, в том числе и на специалистов из стран СНГ. Кандидатуры россиян также активно рассматривают, несмотря на геополитическую напряженность.
Я уже семь лет живу в Германии, работаю в немецком стартапе и помогаю айтишникам из России получать приглашения на собеседования и трудоустраиваться здесь. Поэтому в этой статье я решила собрать всю необходимую информацию для тех, кто рассматривает Германию для релокации.
Типы виз, по которым можно переехать
Самая распространенная виза для айтишников-релокантов в Германии называется Blue Card. От остальных типов виз ее отличает упрощенная процедура получения, быстрые сроки выдачи и возможность ускоренного получения ВНЖ. Ее также используют специалисты из других важных сфер, таких как медицина, инженерия и прочее, но именно IT-специалисты - самая большая группа претендентов на Blue Card. Но не одной Blue Card едины, вообще есть три типа виз:
Если вам не нравится тратить много времени на создание шаблонов для VIPER можно воспользоваться Generamba.
Пишем простой персистеный слой с использованием популярной 3rd party library Realm на iOS.
Я написал приложение под названием SwiftUI View Lifecycle. Приложение позволяет вам наблюдать, как различные конструкции и контейнеры SwiftUI влияют на жизненный цикл вью, включая время жизни его состояния и время вызова onAppear. Код приложения находится на GitHub. Его можно собрать для iOS и macOS.
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.
Обычно тесты не популярны в СНГ. Многие считают их дорогими и тормозящими разработку. Часто это говорят те, кто за разработку принимает написание кода сразу в прод и забывают о нем навсегда
Передо мной возникла задача сделать скроллируемый контент, на заднем плане которого прокручивается другой контент. Прокрутка должна быть синхронной, но с замедленной скоростью - как отдалённый фон в мультфильмах или играх.
В классическом UIScrollView из UIKit можно реализовать протокол UIScrollViewDelegate - метод scrollViewDidScroll(_ scrollView: UIScrollView) скажет нам, насколько сместился основной контент. Но в SwiftUI ScrollView не имеет делегата, поэтому ловить изменения нужно другими способами.
Я нашёл способ обрабатывать смещение - GeometryReader внутри ScrollView:
Всем привет, с вами я, Наиль Габутдинов, iOS разработчик.
Apple выпустила первый SwiftUI в 2019 году, предлагая тем самым новый подход создания приложений в декларативном стиле. SwiftUI 4.0, представленный этим летом на WWDC 2022 вместе с iOS 16 и macOS 13 включает в себя много нововведений для более качественных и универсальных приложений под разные платформы Apple с меньшим количеством кода.
Давайте посмотрим, что нового.
Новый протокол 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
, куда мы включили все возможные объекты (текст String
, URL
-адрес, изображение в виде двоичного файла Data
), нам удалось в SwiftUI
с помощью нового протокола Transferable
обеспечить перетаскивание и "сброс" (Drag & Drop) в один и тот же контейнер (например,ZStack
) различных ТИПов объектов.