Welcome to the official repository for Infomaniak Mail, a modern and secure email client for iOS, iPadOS, and macOS (via Catalyst). 👋
Infomaniak Mail is part of the Infomaniak ecosystem, providing a privacy-focused 🔒, Swiss-based 🇨🇭 email solution with a beautiful native iOS experience. Built with Swift and SwiftUI, this app offers a fast, secure, and user-friendly way to manage your emails.
The project follows a modular architecture with clear separation of concerns:
- Mail: Main app target containing SwiftUI views, scenes, and app lifecycle
- MailCore: Business logic framework with API layer, state managers, and data models
- MailCoreUI: Shared UI components and view modifiers
- MailResources: Assets, localized strings, and resources
- Extensions: Share extension, notification extensions, and App Intents
- Language: Swift 5.10
- UI Framework: SwiftUI (primary) with UIKit integration
- Database: RealmSwift for local data persistence
- Build System: Tuist for project generation and SPM dependency management
- Tool Management: Mise for managing tool versions
- Networking: Alamofire
- Minimum iOS: 15.0+
-
Install Mise for tool version management:
curl https://mise.run | sh -
Bootstrap the development environment:
mise install eval "$(mise activate bash --shims)"
-
Install dependencies and generate the Xcode project:
tuist install tuist generate
Open the generated Mail.xcworkspace in Xcode and build the project, or use:
xcodebuild -scheme "Infomaniak Mail"Before running the Unit and UI tests, you must create an Env struct/enum. Duplicate the sample file (MailTests/Env.sample.swift), rename it to Env, and complete it. You can then run the tests using Xcode or Tuist.