2025-08-07 02:10:59 +03:00
2025-08-07 00:26:06 +03:00
2025-08-06 22:06:05 +03:00
2025-08-07 02:10:59 +03:00

MobileMkch iOS

Мобильный клиент для борды mkch.pooziqo.xyz для iOS

Скриншоты

screenshots

Возможности

  • Просмотр всех досок Мкача
  • Просмотр тредов в каждой доске с пагинацией
  • Просмотр деталей треда и комментариев
  • Поддержка изображений и видео
  • Темная/светлая тема
  • Система настроек с сохранением:
    • Тема (темная/светлая)
    • Последняя посещенная доска
    • Автообновление
    • Показ файлов
    • Компактный режим
    • Размер страницы (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:
open MobileMkch.xcodeproj
  1. Выберите устройство или симулятор

  2. Нажмите 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 (айпад СЛЕГКА поломан, проверил, мб чет с этим сделаю, лень)
  • Поддержка темной/светлой темы
  • Адаптивный интерфейс
Description
No description provided
Readme 0BSD 2 MiB
Languages
Swift 100%