3.9 KiB
3.9 KiB
Montana iOS App
Нативное iOS приложение для Montana Protocol.
Функции
- Чаты — P2P мессенджер между контактами
- Кошелёк Ɉ — баланс и присутствие (1 сек = 1 Ɉ)
- Контакты — полный импорт из iOS телефонной книги
- Переводы — отправка Ɉ по номеру телефона
- Юнона AI — чат с AI ассистентом
- Авторизация — через Telegram бот @junomontanaagibot
Структура
MontanaApp/
├── Montana/
│ ├── Sources/
│ │ ├── App.swift # Точка входа + AppState
│ │ ├── Models.swift # Модели данных (User, Contact, P2PMessage)
│ │ ├── API.swift # API клиент
│ │ ├── ContentView.swift # Главный view + TabView
│ │ └── Views/
│ │ ├── LoginView.swift # Экран входа через Telegram
│ │ ├── ChatsView.swift # Список чатов (P2P мессенджер)
│ │ ├── WalletView.swift # Кошелёк + присутствие
│ │ ├── ContactsView.swift # Контакты + импорт
│ │ ├── ChatView.swift # Чат с Юноной AI
│ │ └── SettingsView.swift # Настройки
│ ├── Assets.xcassets/ # Цвета и иконки
│ └── Info.plist # Конфигурация (com.montana.app)
├── server_p2p_api.py # API endpoints для P2P (добавить на сервер)
└── README.md
Создание Xcode проекта
1. Создать проект в Xcode
File → New → Project → iOS → App
- Product Name: Montana
- Team: [Ваш аккаунт]
- Organization Identifier: com.montana
- Interface: SwiftUI
- Language: Swift
- Storage: None
- Убрать все галочки (Tests, Core Data)
2. Заменить файлы
- Удалить автосгенерированные файлы (
ContentView.swift,MontanaApp.swift) - Скопировать содержимое
Sources/в проект - Заменить
Assets.xcassets - Заменить
Info.plist
3. Добавить Contacts Framework
Project → Target → Build Phases → Link Binary With Libraries
→ + → Contacts.framework
4. Настроить Signing
Project → Target → Signing & Capabilities
- Team: [Выбрать]
- Bundle Identifier: com.montana.app
5. Запуск
⌘ + R — Simulator
⌘ + R с подключённым iPhone — на устройстве
API
Приложение использует API на http://72.56.102.240:
Пользователь
GET /api/user— данные пользователяGET /api/login-status— статус входа
Контакты
GET /api/contacts— список контактовPOST /api/contacts— сохранить контакт
P2P Мессенджер
GET /api/conversations— список чатов с последним сообщениемGET /api/messages?with={phone}— сообщения с контактомPOST /api/messages— отправить сообщение (body:{to_phone, content})
Кошелёк
POST /api/presence— синхронизация присутствияPOST /api/transfer— перевод Ɉ
Юнона AI
POST /api/chat— сообщение Юноне
App Store
Требования
- Apple Developer Account ($99/год)
- Иконка 1024x1024
- Скриншоты всех размеров
Публикация
Product → Archive → Distribute App → App Store Connect
Лицензия
Montana Protocol © 2026