Как стать автором
Обновить
7
0

Пользователь

Отправить сообщение

DND 18: Создание пользовательских SF Symbols

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

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

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

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

Этапы сборки SwiftLint с входными и выходными файлами Xcode

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

Этот репозиторий содержит пример проекта, демонстрирующий, как настроить этапы сборки SwiftLint с помощью функции файлов ввода-вывода Xcode путем определения действия перед сборкой для создания списка входных файлов для SwiftLint. Эта настройка решает новое предупреждение, появившееся в Xcode 14:

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

Самостоятельный хостинг macOS CI на Apple Silicon с приложением Cilicon

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

Коротко: мы выпустили новое приложение для macOS под названием Cilicon, которое предоставляет и запускает эфемерные виртуальные машины для CI (Cilicon Installer – автономное приложение). Используя его, мы смогли переключиться на собственные Actions Runners и ускорить нашу CI в 3 раза, а также дать вторую жизнь некоторым из наших поврежденных устройств M1 MacBook Pro.

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии2

Встроенные покупки в iOS. Часть 1: создание покупок и добавление их в проект

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

Сергей Журавель | 22 ноября 2022 г.

Встроенные покупки в iOS. Часть 1: создание покупок и добавление их в проект

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

Экономьте деньги при использовании GitHub Actions для iOS CI/CD

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

В этом сообщении блога я делюсь советами о том, как наиболее эффективно использовать GitHub Actions и избежать лишнего времени выполнения и денежных затрат.

Я предполагаю, что вы знакомы с GitHub Actions и уже использовали их, но вот краткий обзор:

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

Современный SwiftUI: общение родителей и детей

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

Преамбула

Этот пост в блоге является одним из серии. Обязательно прочитайте все части!

Modern SwiftUI: Parent-child communication

Modern SwiftUI: Identified arrays

Modern SwiftUI: State-driven navigation

Modern SwiftUI: Dependencies

Modern SwiftUI: Testing

На прошлой неделе мы завершили нашу амбициозную серию из 7 статей, посвященных современным передовым методам разработки SwiftUI. В этих эпизодах мы перестроили приложение компании Apple “Scrumdinger” с нуля (исходный код здесь), которое является отличной демонстрацией многих проблем, с которыми можно столкнуться в реальном приложении. На каждом этапе пути мы ставили перед собой задачу написать код максимально масштабируемым и ориентированным на будущее, в том числе:

Читать далее
Всего голосов 3: ↑1 и ↓2-1
Комментарии1

Как ускорить Swift с помощью Conformances

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

В рантайме Swift выполняет проверку соответствия протоколу, когда вы приводите тип к протоколу, например, с as? или as!. Эта операция на удивление медленная, как подробно описано в моем предыдущем посте. В этой статье мы рассмотрим простой способ ускорить этот процесс примерно на 20%, не внося никаких изменений в ваш исходный код. А начнём с краткого обзора проверок соответствия протокола.

Читать далее
Рейтинг0
Комментарии0

Создание пользовательских слоев в SwiftUI. LayoutValueKey

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

В последние несколько недель мы рассмотрели многие аспекты создания пользовательских слоев с использованием нового Layout протокола в Swift UI, однако нам еще многое предстоит обсудить. На этой неделе мы узнаем, как использовать протокол Layout Value Key для передачи параметров пользовательских слоев при создании представлений в пользовательском слое.

Читать далее
Рейтинг0
Комментарии0

Получение доступа к командной строке из XCTest

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

Командная строка — довольно мощный инструмент. Его можно использовать для автоматизации множества вещей здесь и там. Очевидно, речь идёт не только о сценариях Shell, из него можно запустить и любой другой инструмент. Но использовать его напрямую не всегда возможно.

XCTest, например, работает внутри песочницы, это означает, что вы буквально не можете даже высунуть нос из коробки. Ну, почти. Давайте обойдём это ограничение и узнаем, как получить доступ к командной строке из тестов.

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии1

Advanced Data Protection для iCloud. Какое значение это имеет для Tact и других приложений, использующих CloudKit

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

В декабре 2022 года Apple объявила о новых мощных средствах защиты данных. Из трех объявленных средств защиты, iMessage Contact Key Verification относится к Сообщениям, следовательно, выходит за рамки этого поста.

Поговорим о двух других.

Читать далее
Рейтинг0
Комментарии1

Pulse 3: что ты такое?

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

10 января 2023 г.

Сегодня моя 10-я годовщина программирования на платформах Apple, и что может быть лучше, чем отпраздновать это новым крупным выпуском — Pulse 3.0 вышел!

Мне нравился каждый год, когда я работал над iOS. Я начал в 2012 году с Objective‑C, и теперь, благодаря Swift и SwiftUI, я могу таргетировать все платформы Apple, что невероятно. Pulse 3 — это полная переработка. Он расширяет возможности и обеспечивает почти полное равенство функций между iOS, macOS, watchOS и tvOS с одной и той же кодовой базой.

Pulse — это сетевой логгер, созданный с помощью SwiftUI. Он интегрируется на URLSession уровне, позволяя ему видеть незашифрованный трафик и записывать метрики задач, доступные только на этом уровне.

Читать далее
Рейтинг0
Комментарии1

NSPredicate: старый API с новыми сюрпризами

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

NSPredicate: старый API с новыми сюрпризами.

Недавно я работал с NSPredicate — API, который существует с момента выхода Mac OS X Tiger в 2005 году — и то, что выглядело довольно простым, не работало так, как я ожидал.

Я внедрял поддержку Apple Shortcuts в своем приложении для чтения, чтобы пользователи могли автоматизировать процессы взаимодействия. Я заметил, что при использовании EntityPropertyQuery, некоторые, основанные на свойствах, запросы статей не возвращали ожидаемое их количество. У меня было четырнадцать статей, сохраненных на симуляторе iPad. Четыре из них были написаны мной. Однако, когда я искал статьи, где автором был не «Дуглас Хилл», то вместо ожидаемых десяти, в результате получал лишь две.

Было ясно, что статьи не были включены в поиск, если не был указан автор статьи. Другими словами, когда свойство author было равно nil. (Я буду комбинировать термины nil и null, т.к. они представляют одну и ту же концепцию с разными именами в разных программных стеках.)

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

Три способа общения через WatchConnectivity

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

Продолжая свое путешествие с watchOS, я хочу выделить различные методы, которые у нас есть для связи между устройствами iPhone и Apple Watch. В течение последних недель я глубоко погрузился в WatchConnectivity и то, как его можно использовать для обмена данными. Этот пост должен дать обзор моих выводов и помочь выбрать правильный метод для данного варианта использования.

Читать далее
Рейтинг0
Комментарии0

Разработка iOS Framework в унисон с помощью Swift и Objective-C

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

Прошло много времени с тех пор, как язык программирования Swift был представлен на WWDC в 2014 году. С тех пор внедрение Swift сторонними разработчиками, безусловно, было массовым. Тем не менее, Objective-C всё ещё существует.

В этом посте мы предоставим несколько советов и приёмов для успешной разработки XCFrameworks (новые способы упаковки и поставки библиотек в различных вариантах). XCFrameworks сочетают Swift и Objective-C таким образом, чтобы совместимость языков не ставила под угрозу публичные API-интерфейсы фреймворка и не влияла на них.

Читать далее
Рейтинг0
Комментарии0

Как ускорить разработку и тестирование в SwiftUI с помощью PreviewSnapshots

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

Как ускорить разработку и тестирование в SwiftUI с помощью PreviewSnapshots.

Одной из замечательных особенностей разработки в SwiftUI является Xcode Previews, которые обеспечивают быструю UI‑итерацию путем визуализации изменений кода в режиме реального времени наряду с кодом SwiftUI. 

Читать далее
Рейтинг0
Комментарии1

Настройте 3D-шахматную доску с помощью SwiftUI и RealityKit

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

Использование фреймворков SwiftUI, RealityKit, ARKit и Multipeer

Я провел большую часть этого года (2022), изучая SceneKit. Путешествие, которое я задокументировал почти двумя дюжинами статей на эту тему, вы найдёте здесь, на Medium. Изучив большинство элементов в SceneKit, я решил перейти на RealityKit/ARKit в 2023 году.

Я не был уверен, с чего начать, поэтому я смотрел последние презентации WWDC2022 на ARKit, а затем на RealityKit, ну и — это не помогло. Я посмотрел, что было вначале, а затем самый ранний WWDC.

Читать далее
Рейтинг0
Комментарии0

Использование Makefiles для проектов Swift

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

Использование Makefiles для проектов Swift

Make — это программное обеспечение для автоматизации сборки, которое можно использовать для автоматического выполнения различных команд. Если вы хотите что-то запустить, вам нужно указать свои команды (точнее: цели сборки) через Makefiles. В этом кратком туториале я покажу вам некоторые из моих лучших приемов для проектов на Swift. ?

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

Когда вам нужно сообщить об использовании шифрования вашим приложением?

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

Когда вам нужно сообщить об использовании шифрования вашим приложением?

Ваше приложение использует шифрование? - Это первое, что вы прочтете после нажатия кнопки «Отправить на проверку» в App Store Connect. На этот вопрос довольно легко ответить, но после того, как вы ответите на него, вы получите уведомление о том, что вам необходимо представить отчет о самоклассификации на конец года.

Читать далее
Всего голосов 8: ↑3 и ↓5-2
Комментарии1

Как создать виджет экрана блокировки в iOS?

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

В iOS 16 Apple провела масштабную модернизацию Экран Блокировки. Одной из самых ожидаемых функций, которая появилась вместе с обновлением, - виджеты Экрана Блокировки. Как следует из названия, виджеты Экрана Блокировки — это виджеты, отображающие легко просматриваемый контент, который постоянно виден на экране блокировки iPhone и iPad.

Поскольку и виджеты Главного Экрана, и виджеты Экрана Блокировки работают на WidgetKit, способ создания виджета Экран Блокировки очень похож на то, как мы создаем виджеты Главного Экрана. Поэтому в этой статье я не буду показывать вам, как настроить и создать виджет с нуля, как это было описано в моей предыдущей статье.

Вместо этого я сосредоточусь на том, как обновить код существующих виджетов Главного Экрана для поддержки виджетов Экрана Блокировки.

С учетом всего сказанного, давайте начнем!

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии0

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность