Yeet — минимальное iOS‑приложение со Share Extension. Цель: принимать URL из системного шитра Share, получать прямую ссылку на видео через бэкенд (с yt-dlp), скачивать во временную папку и сразу открывать системный шитр для пересылки файла (WhatsApp, Telegram и т.п.).
- App Target:
Yeet(SwiftUI) - Extension Target:
YeetShareExtension(Share Extension) - Общая логика:
Sources/Shared/VideoDownloader.swift - Серверный каркас:
Server/README.md(контракт API) - Конфиг сборки:
project.yml(XcodeGen)
- Установи XcodeGen (если нет): brew install xcodegen
- Сгенерируй проект: xcodegen generate
- Открой
Yeet.xcodeprojв Xcode. - Поставь уникальные Bundle Identifier’ы для App и Extension, укажи свою команду разработки (Signing & Capabilities).
- Собери и запусти на устройстве/симуляторе.
- Укажи
backendBaseURLвSources/Shared/AppConfig.swift, чтобы использовать существующий веб‑бэкенд (например Railwaygetsocialvideobot). Без него скачивание работает только с прямыми.mp4ссылками. - Share Extension показывает компактную SwiftUI‑вью с прогрессом, а после скачивания автоматически открывает системный
UIActivityViewController. - Временные файлы сохраняются в
Library/Caches/YeetTempи удаляются после закрытия финального шаринга/ошибки.
- Реализовать серверless endpoint согласно
Server/README.md(возвращает прямойdownloadUrlиtitle). - Расширить обработку ошибок/повторную попытку, добавить аналитику.
- Добавить настройки в главное приложение (например, переключение бэкенда, очистка кеша).