iOS Broadcast
3.31K subscribers
1.68K photos
82 videos
967 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
🎯 Руководство по промптингу FoundationModels
Создание эффективных управляемых подсказок для FoundationModels имеет свою специфику. Они обучены для работы на устройствах и взаимодействию со SwiftUI.

🟢Ограниченный размер контекста: 4096 токенов для ввода и вывода.
🟢Защита от небезопасного ввода и вывода, что может привести к ложным срабатываниям.
🟢Описание персонажа улучшает генерацию.
🟢Формулировка подсказок лучше работает при наличии четкой команды.
🟢Важно учитываеть ограничение пользовательского ввода для предотвращения неожиданных результатов.
🟢Важно обрабатывать ошибки, возникающие при неправильном вводе пользователя.
🟢LanguageModelSession выдает специализированные ошибки. Необходимо продумать, как справляться с этими ошибками в пользовательском интерфейсе.
🟢С помощью Generable, guided вывода и тестирования на устройстве можно экспериментировать.
🟢Не нужно беспокоиться о форматировании в формате JSON или особенностях удаленного API.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
📱 WebKit для SwiftUI
На WWDC25 Apple представила WebView и WebPage для упрощения работы с веб-контентом в SwiftUI. Удивительно, но эти новые API уже доступны начиная с iOS 18.4. Давайте разбираться!
🔵WebPage обеспечивает поддержку состояния загрузки и оценки прогресса.
🔵Для обработки разных состояний, таких как ошибки или перенаправления, есть свойство currentNavigationEvent.
🔵Добавлены элементы управления для сохранения контента, включая селектор типа контента.
🔵Для сохранения снимков, PDF и веб-архивов используются разные методы.
🔵Новый WebArchiveView позволяет отображать сохраненные веб-архивы.
🔵Возможность скроллить к элементу веб-страницы
🔵Расширенные возможности по работе с JavaScript
Новые API значительно упрощают обработку веб-контента в SwiftUI. Все детали в отдельном разделе документации
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Android Broadcast
This media is not supported in your browser
VIEW IN TELEGRAM
🐱 Lokilizer - open source инструмент для перевода строк. Работает на основе AI с поддержкой различных моделей

Уникальная фича - перевод с 2 языков на другие сразу. Например, с русского и английского.

Приложение разворачивается как сервер. Есть подробная инструкция и Docker образ

Автор описал больше про инструмент в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Swift concurrency. Executors, Actors и их связь с потокам
Полезная статья из серии Swift Concurrency, где автор разбирается в недрах:
🟢Как определяется поток, на котором будет выполняться Task?
🟢Почему в рамках одной Task поток может меняться?
🟢Что такое Executor и на какие типы он делится?
🟢За что отвечает TaskExecutor, а за что SerialExecutor?
🟢Как определить текущий Executor по коду?
🟢Как использовать свой самописный Executor?

🟣Компоненты Swift Concurrency
🟢Task и child task — базовые единицы для асинхронных функций.
🟢Job — часть таски между точками прерываний.
🟢Executor — распределяет Job по потокам.
🟢Cooperative thread pool — пул потоков, равный количеству ядер устройства.

Типы Executor'ов
🟢Global concurrent executor — дефолтный планировщик, распределяет Job'ы конкуррентно.
🟢Serial executors — каждый actor имеет свой, выполняет джобы последовательно.
🟢Main Actor executor — выполняет джобы на main thread.

🟡Понимание механизма работы swift concurrency помогает контролировать и прогнозировать использование инструментов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2
⤵️ Подходы к навигации в SwiftUI
Автор рассматривает все основные подходы к навигации (часть статьи еще дополняется). SwiftUI сначала был представлен с NavigationView, потом его замененили на NavigationStack стек в iOS 16. Все это время часть разработчиков строила навигаюцию вообще на базе UIKit. В статье рассматриваются подходы:
🟢Базовая навигация по списку
🟢Динамическая/программируемая маршрутизация
🟢Вложенные перечисления для организации сложных сценариев
🟢Глобальная маршрутизация в SwiftUI
🟢Реализация навигационного "хука" с использованием Environment
🟢Удаление навигационной зависимости
🟢Навигация по вкладкам
🟢Структура приложения
🟢NavigationStack и PatientNavigationStack
🟢Использование Environment Values
🟢Управление "модалками"

Добавляйте в 🔖 чтобы не потерять
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1