# MobileMkch iOS Мобильный клиент для борды mkch.pooziqo.xyz для iOS ## Скриншоты ![screenshots](https://git.fuckyougoogle.xyz/MKFun/MobileMkch-iOS/raw/branch/main/screenshot/screenshot.png) ## Возможности - Просмотр всех досок Мкача - Просмотр тредов в каждой доске с пагинацией - Просмотр деталей треда и комментариев - Поддержка изображений и видео - Темная/светлая тема - Система настроек с сохранением: - Тема (темная/светлая) - Последняя посещенная доска - Автообновление - Показ файлов - Компактный режим - Размер страницы (5-20 тредов) - **Полная поддержка постинга:** - Аутентификация по ключу - Аутентификация по passcode - Создание тредов - Добавление комментариев - Автоматическое обновление после постинга - **Оптимизации для iOS:** - Нативная SwiftUI интерфейс - Кэширование данных - Оптимизация потребления батареи - Поддержка iOS 15.0+ - **Push-уведомления о новых тредах:** - Подписка на доски через тумблеры в настройках - Настраиваемый интервал проверки (5 мин - 1 час) - Фоновое обновление - Задержка уведомлений 10 секунд - Формат: "Новый тред: [название] в /boardname/" - Тестовые уведомления в debug меню ## Аутентификация и постинг ### Настройка аутентификации 1. Откройте настройки в приложении 2. Введите ключ аутентификации 3. Введите passcode для постинга (По наличию) (P.S. Увы, но пока-что не доработал пасскод, уважте, первая версия.) 4. Используйте кнопки "Тест ключа" и "Тест passcode" для проверки ### Создание тредов 1. Перейдите в нужную доску 2. Нажмите "Создать" 3. Заполните заголовок и текст 4. Нажмите "Создать" ### Добавление комментариев 1. Откройте тред 2. Нажмите "Добавить" 3. Введите текст комментария 4. Нажмите "Добавить" ## Уведомления о новых тредах ### Настройка уведомлений 1. Откройте настройки приложения 2. Перейдите в "Настройки уведомлений" 3. Включите уведомления 4. Разрешите уведомления в системных настройках iOS 5. Настройте интервал проверки (5 мин - 1 час) ### Подписка на доски 1. Откройте настройки приложения 2. Перейдите в "Настройки уведомлений" 3. Включите уведомления 4. В разделе "Подписки на доски" включите тумблеры для нужных досок 5. Для отписки отключите соответствующий тумблер ### Как это работает - Приложение периодически проверяет новые треды в фоне - При обнаружении нового треда отправляется push-уведомление через 10 секунд - Формат уведомления: "Новый тред: [название] в /boardname/" - Подписки сохраняются между запусками приложения - Управление подписками через тумблеры в настройках уведомлений - Тестовые уведомления доступны в debug меню (5 нажатий на информацию об устройстве) ## Сборка ### Требования - Xcode 15.0+ - iOS 15.0+ - macOS 13.0+ ### Сборка 1. Откройте проект в Xcode: ```bash open MobileMkch.xcodeproj ``` 2. Выберите устройство или симулятор 3. Нажмите Cmd+R для сборки и запуска ### Распространение 1. Выберите "Any iOS Device" в схеме сборки 2. Product и Archive 3. Distribute App через App Store Connect или Ad Hoc (Еще можно открыть архиве в файндер и там найти .app и закинув в Payload сжать папку в .ipa, но это слегка попердолинг увы) ## Структура проекта - `MobileMkchApp.swift` - точка входа приложения - `Models.swift` - структуры данных - `APIClient.swift` - HTTP клиент для mkch API - `Settings.swift` - система настроек - `Cache.swift` - система кэширования - `BoardsView.swift` - список досок - `ThreadsView.swift` - треды доски с пагинацией - `ThreadDetailView.swift` - детали треда - `CreateThreadView.swift` - создание тредов - `AddCommentView.swift` - добавление комментариев - `SettingsView.swift` - экран настроек - `NotificationManager.swift` - управление уведомлениями и тестовые уведомления - `BackgroundTaskManager.swift` - фоновые задачи - `NotificationSettingsView.swift` - настройки уведомлений с тумблерами подписок ## Технологии - SwiftUI - Combine - Foundation - UIKit (для совместимости) ## Совместимость - iOS 15.0+ - iPhone и iPad (айпад СЛЕГКА поломан, проверил, мб чет с этим сделаю, лень) - Поддержка темной/светлой темы - Адаптивный интерфейс