MobileMkch-iOS/README.md
2025-08-07 02:10:59 +03:00

145 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 (айпад СЛЕГКА поломан, проверил, мб чет с этим сделаю, лень)
- Поддержка темной/светлой темы
- Адаптивный интерфейс