# Montana iOS App iOS реализация Montana App — персональный интернет в одном приложении (кошелёк, мессенджер, каналы, контакты, профиль, ИИ-агент Юнона, браузер). **Версия спеки:** Montana App v3.11.0 (2026-05-01). **Версия приложения:** v0.1.0 (Foundation MVP). ## Архитектура - **Swift 5.9+ + SwiftUI**, iOS 16.0+, iPhone-only (TARGETED_DEVICE_FAMILY=1) - **Криптография через FFI к Rust** — `mt-mnemonic` + `mt-crypto` из workspace `efir369999/Montana` (byte-exact conformance с протоколом, тот же ML-DSA-65 / ML-KEM-768 / SHA-256 что и узел) - **Project структура через XcodeGen** (`project.yml`) — детерминированная сборка `.xcodeproj` ## Сборка ```bash brew install xcodegen cd MontanaApp xcodegen generate open MontanaApp.xcodeproj ``` Затем в Xcode выбрать iOS Simulator → Run. ## Структура ``` MontanaApp/ ├── project.yml — XcodeGen project definition ├── README.md ├── LICENSE ├── Sources/MontanaApp/ │ ├── App/ — entry point (SwiftUI App) │ ├── Identity/ — мнемоника + master_seed + derived keys │ ├── Crypto/ — Swift wrapper над RustBridge │ ├── Wallet/ — Transfer + balance + history │ ├── Messenger/ — Double Ratchet PQ │ ├── Contacts/ — QR + petname-ы │ ├── Profile/ — ProfileBlob │ └── UI/ │ ├── Onboarding/ — welcome + mnemonic generation │ └── Components/ — переиспользуемые view-компоненты ├── Tests/MontanaAppTests/ ├── Resources/ — Info.plist, Assets.xcassets ├── RustBridge/ — FFI к mt-mnemonic / mt-crypto └── docs/ — заметки реализации ``` ## Roadmap - [x] **Phase 0** — Project structure + XcodeGen - [ ] **Phase 1** — Rust→iOS bridge (xcframework build для mt-mnemonic + mt-crypto) - [ ] **Phase 2** — Identity module (mnemonic + derive keys) - [ ] **Phase 3** — Onboarding UI (welcome → mnemonic create/import → identity) - [ ] **Phase 4** — Wallet (Transfer + balance) - [ ] **Phase 5** — Messenger (Double Ratchet PQ) - [ ] **Phase 6** — Channels (Content Layer reader) - [ ] **Phase 7** — Contacts (QR + petnames) - [ ] **Phase 8** — Profile (ProfileBlob) - [ ] **Phase 9** — Junona (ИИ-агент + sandbox + permissions) - [ ] **Phase 10** — Browser (траффик-маскировка) ## Лицензия Apache-2.0 OR MIT (то же что и Rust workspace efir369999/Montana). ## Связанные репозитории - [efir369999/Montana](https://github.com/efir369999/Montana) — спецификация протокола + Rust reference implementation узла