145 lines
6.3 KiB
Markdown
145 lines
6.3 KiB
Markdown
# MobileMkch iOS
|
||
|
||
Мобильный клиент для борды mkch.pooziqo.xyz для iOS
|
||
|
||
## Скриншоты
|
||

|
||
|
||
## Возможности
|
||
|
||
- Просмотр всех досок Мкача
|
||
- Просмотр тредов в каждой доске с пагинацией
|
||
- Просмотр деталей треда и комментариев
|
||
- Поддержка изображений и видео
|
||
- Темная/светлая тема
|
||
- Система настроек с сохранением:
|
||
- Тема (темная/светлая)
|
||
- Последняя посещенная доска
|
||
- Автообновление
|
||
- Показ файлов
|
||
- Компактный режим
|
||
- Размер страницы (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 (айпад СЛЕГКА поломан, проверил, мб чет с этим сделаю, лень)
|
||
- Поддержка темной/светлой темы
|
||
- Адаптивный интерфейс |