Skip to content

OrDinaD/TextToBand

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± TextToBand - iOS App

iOS Swift Xcode License

Π£ΠΌΠ½ΠΎΠ΅ iOS ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠΈ тСкста Π½Π° увСдомлСния для Mi Band ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… смарт-устройств

Π“Π»Π°Π²Π½Ρ‹ΠΉ экран Π­ΠΊΡ€Π°Π½ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ

✨ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности

Ѐункция ОписаниС
πŸ“ Умная Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠ° тСкста АвтоматичСскоС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ тСкста Π½Π° части Π΄ΠΎ 240 символов
πŸ”” Π“ΠΈΠ±ΠΊΠΈΠ΅ увСдомлСния ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ с настраиваСмыми ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ
πŸ“š Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΎΠΊ Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… тСкстов
πŸ“‹ Π¨Π°Π±Π»ΠΎΠ½Ρ‹ тСкстов Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ шаблонами
βš™οΈ Настройки Гибкая конфигурация Ρ€Π°Π·ΠΌΠ΅Ρ€Π° частСй, ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² ΠΈ Π·Π²ΡƒΠΊΠ°
πŸ’Ύ Экспорт/Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ восстановлСниС всСх Π΄Π°Π½Π½Ρ‹Ρ…
🎨 Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ Π€ΠΈΠΎΠ»Π΅Ρ‚ΠΎΠ²Ρ‹ΠΉ Π°ΠΊΡ†Π΅Π½Ρ‚Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ‚Ρ‘ΠΌΠ½ΠΎΠΉ Ρ‚Π΅ΠΌΡ‹

πŸ—οΈ АрхитСктура

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ построСно с использованиСм соврСмСнных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² iOS Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

graph TD
    A[SwiftUI Views] --> B[TextToBandViewModel]
    B --> C[Models]
    B --> D[Services]
    C --> E[HistoryItem]
    C --> F[TextTemplate]
    C --> G[NotificationItem]
    D --> H[NotificationManager]
    D --> I[BackupManager]
Loading

ВСхнологичСский стСк:

  • UI Framework: SwiftUI с MVVM Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ
  • Notifications: UNUserNotificationCenter для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
  • Storage: UserDefaults + JSON для пСрсистСнтности Π΄Π°Π½Π½Ρ‹Ρ…
  • Settings: Settings Bundle для систСмной ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ
  • Testing: XCTest для Unit ΠΈ UI тСстирования

πŸ“ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

TextToBand/
β”œβ”€β”€ πŸ“± Views/              # SwiftUI ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс
β”‚   β”œβ”€β”€ ContentView.swift      # Π“Π»Π°Π²Π½Ρ‹ΠΉ экран прилоТСния
β”‚   β”œβ”€β”€ HistoryView.swift      # Π­ΠΊΡ€Π°Π½ истории ΠΎΡ‚ΠΏΡ€Π°Π²ΠΎΠΊ
β”‚   β”œβ”€β”€ TemplatesView.swift    # Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ шаблонами
β”‚   └── SettingsView.swift     # Π­ΠΊΡ€Π°Π½ настроСк
β”œβ”€β”€ 🧠 ViewModels/         # БизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° MVVM
β”‚   └── TextToBandViewModel.swift
β”œβ”€β”€ πŸ“Š Models/             # МодСли Π΄Π°Π½Π½Ρ‹Ρ…
β”‚   β”œβ”€β”€ HistoryItem.swift      # Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ истории
β”‚   β”œβ”€β”€ TextTemplate.swift     # Π¨Π°Π±Π»ΠΎΠ½ тСкста
β”‚   β”œβ”€β”€ NotificationItem.swift # Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ увСдомлСния
β”‚   └── AppSettings.swift      # Настройки прилоТСния
β”œβ”€β”€ πŸ”§ Services/           # Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ сСрвисы
β”‚   β”œβ”€β”€ NotificationManager.swift # Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ увСдомлСниями
β”‚   └── BackupManager.swift       # Экспорт/ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…
β”œβ”€β”€ 🧩 Components/         # ΠŸΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹
β”‚   └── NotificationCard.swift
└── πŸ§ͺ Tests/              # ВСсты
    β”œβ”€β”€ TextToBandTests/       # Unit тСсты
    └── TextToBandUITests/     # UI тСсты

πŸ§ͺ ВСстированиС

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ комплСксноС ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ тСстами:

Unit Tests (6 Ρ„Π°ΠΉΠ»ΠΎΠ²)

  • βœ… TextToBandViewModelTests - Основная бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°
  • βœ… HistoryItemTests - Валидация ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ…
  • βœ… TextTemplateTests - Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ шаблонами
  • βœ… NotificationManagerTests - Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ увСдомлСния
  • βœ… BackupManagerTests - Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ экспорт/ΠΈΠΌΠΏΠΎΡ€Ρ‚
  • βœ… BasicTests - Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

UI Tests

  • βœ… TextToBandUITests - АвтоматизированноС тСстированиС интСрфСйса

πŸš€ Быстрый старт

ВрСбования

  • macOS: 14.0+ (Sonoma)
  • Xcode: 16.0+
  • iOS: 18.5+
  • Swift: 5.9+

Установка

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ IPA Ρ„Π°ΠΉΠ»Π°

  1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ исходный ΠΊΠΎΠ΄ ΠΈΠ· Releases
  2. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкциям Π² Ρ„Π°ΠΉΠ»Π΅ BUILD_IPA.md для создания IPA
  3. УстановитС IPA Ρ‡Π΅Ρ€Π΅Π· iTunes, Xcode ΠΈΠ»ΠΈ сторонниС инструмСнты (AltStore, Sideloadly)
  4. Π”ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ сСртификату Π² Настройки β†’ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ β†’ VPN ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ устройством

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

  1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория

    git clone https://github.com/OrDinaD/TextToBand.git
    cd TextToBand
  2. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

    open TextToBand.xcodeproj
  3. Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈ запуск

    • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ симулятор iPhone
    • НаТмитС Cmd + R ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ ▢️ Play

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

# Π‘Π±ΠΎΡ€ΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
xcodebuild -scheme TextToBand -destination 'platform=iOS Simulator,name=iPhone 16' build

# Запуск тСстов
xcodebuild -scheme TextToBand -destination 'platform=iOS Simulator,name=iPhone 16' test

# Установка Π² симулятор
xcodebuild -scheme TextToBand -destination 'platform=iOS Simulator,name=iPhone 16' install

πŸ“– ИспользованиС

Основной workflow:

  1. πŸ’¬ Π’Π²ΠΎΠ΄ тСкста

    • Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ тСкст Π² тСкстовоС ΠΏΠΎΠ»Π΅
    • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ автоматичСски ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ количСство символов ΠΈ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
  2. βœ‚οΈ Π Π°Π·Π±ΠΈΠ²ΠΊΠ°

    • НаТмитС "Π Π°Π·Π±ΠΈΡ‚ΡŒ тСкст" для создания частСй ΠΏΠΎ 240 символов
    • ВСкст ΡƒΠΌΠ½ΠΎ раздСляСтся ΠΏΠΎ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ
  3. πŸ“€ ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ°

    • "ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сСйчас" - нСмСдлСнная ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° с ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ
    • "ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π·" - запланированная ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ врСмя
  4. βš™οΈ Настройки

    • Π Π°Π·ΠΌΠ΅Ρ€ части тСкста (50-300 символов)
    • Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρƒ увСдомлСниями (1-60 сСкунд)
    • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π·Π²ΡƒΠΊΠ°
  5. πŸ“‹ Π¨Π°Π±Π»ΠΎΠ½Ρ‹

    • Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… тСкстов
    • Быстрая вставка ΠΎΠ΄Π½ΠΈΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ
  6. πŸ“š Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

    • ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΠΉΡ‚Π΅ всС ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ тСксты
    • ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½Π°Ρ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° с ΠΎΠ΄Π½ΠΈΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ
    • Бтатусы: Π§Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ β†’ Π’ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ β†’ ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° β†’ ΠžΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ
  7. πŸ’Ύ Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

    • Экспорт всСх Π΄Π°Π½Π½Ρ‹Ρ… Π² JSON Ρ„Π°ΠΉΠ»
    • Π˜ΠΌΠΏΠΎΡ€Ρ‚ для восстановлСния Π½Π° Π½ΠΎΠ²ΠΎΠΌ устройствС

ЛицСнзия

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. Π‘ΠΌ. Ρ„Π°ΠΉΠ» LICENSE для подробностСй.


⭐ ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π·Π²Π΅Π·Π΄Ρƒ, Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π» ΠΏΠΎΠ»Π΅Π·Π΅Π½!

About

πŸ“± iOS ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… тСкстов Π½Π° увСдомлСния Mi Band. Π£ΠΌΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ увСдомлСниями с шаблонами, историСй ΠΈ настройками ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ². Swift + SwiftUI + MVVM.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages