โ๏ธ Infomaniak kDrive for iOS
February 16, 2026 ยท View on GitHub
Welcome to the official repository for Infomaniak kDrive, a modern and secure cloud storage client for iOS and iPadOS. ๐
๐ About Infomaniak kDrive
Infomaniak kDrive is part of the Infomaniak ecosystem, providing a privacy-focused ๐, Swiss-based ๐จ๐ญ cloud storage solution with a beautiful native iOS experience. Built with Swift and UIKit/SwiftUI, this app offers a fast, secure, and user-friendly way to store, synchronize, share, and collaborate on your files.
Key Features
- โ๏ธ All the space you need: Always have access to all your photos, videos and documents. kDrive can store up to 106 TB of data.
- ๐ A collaborative ecosystem: Collaborate online on Office documents, organize meetings, share your work. Everything included.
- ๐ Privacy-first: Protect your data in a sovereign cloud exclusively developed and hosted in Switzerland. Infomaniak doesn't analyze or resell your data.
๐๏ธ Architecture
The project follows a modular architecture with clear separation of concerns:
- kDrive: Main app target containing UIKit ViewControllers, SwiftUI views, app lifecycle, and navigation
- kDriveCore: Business logic framework with API layer, data models, managers, and services
- kDriveResources: Assets, localized strings, and resources
- kDriveFileProvider: Files app integration (NSFileProviderExtension)
- kDriveShareExtension: Share sheet extension for sharing files from other apps
- kDriveActionExtension: Action sheet extension for quick actions
๐ ๏ธ Technology Stack
- Language: Swift 5.10
- UI Framework: UIKit (primary) with SwiftUI integration for newer features
- 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
- Linting: SwiftLint, SwiftFormat
- Minimum iOS: 13.0+ (SwiftUI features require iOS 16.4+)
๐ Getting Started
Prerequisites
-
Install Mise for tool version management:
curl https://mise.run | shNote: For alternative installation methods or to review the installation script before running, visit the official Mise documentation.
-
Bootstrap the development environment:
mise install # For bash users: eval "$(mise activate bash --shims)" # For zsh users: eval "$(mise activate zsh --shims)" # For other shells, see: https://mise.jdx.dev/getting-started.html -
Install dependencies and generate the Xcode project:
tuist install tuist generate
Building and Running
Open the generated kDrive.xcworkspace in Xcode and build the project, or use:
xcodebuild -scheme "kDrive"
Linting
Run SwiftLint before submitting any changes:
scripts/lint.sh
๐งช Testing
You can run the tests using Xcode or Tuist. The project includes unit tests to ensure code quality and reliability.
๐ค Contributing
If you see a bug or an enhancement point, feel free to create an issue, so that we can discuss it. Once approved, we or you (depending on the priority of the bug/improvement) will take care of the issue and apply a merge request. Please, don't do a merge request before creating an issue.
๐ License
This project is under GPLv3 license. See the LICENSE file for more details.