iOS-mail — ProtonMail iOS client app
The app is intended for all users of the ProtonMail service. Whether they are paid or free, they can compose and read emails, manage folders and labels, manage some account settings and create a new account. The app supports iOS versions 11 and above.
The code and data files in this distribution are licensed under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See https://www.gnu.org/licenses/ for a copy of this license.
See LICENSE file
- Introduction
- License
- Architecture
- Dependencies
- Content Explanation
- Setup
- Live version
- Articles
- Our Team
- TODO
MVVM-C with services. Model-View-ViewModel architecture, plus the Coordinator pattern.
- OpenPGP
- Keymaker
- ProtonMail
- ProtonMailCommon
- Push
- PushService
- Share
- Siri
- Scripts
- Trust Model
- Local Data Protection
- Have macOS up to date and install Xcode 13.2.1
- We use xUnique (ver 4.1.4) in order to prevent merge conflicts in the ProtonMail.xcodeproj file. Each shared scheme has a post-build action, and builds will fail on machines with no xUnique installed. Please follow xUnique's installation instructions
- We use swiftlint. If you don't have it, you can install it via Homebrew, by opening ProtonMail directory and run
brew bundle
in the Terminal. - DOMPurify and Cocoapods are pre-downloaded. We are using git submodules for tracking DOMPurifier, so after cloning you have to run
git submodule init
andgit submodule update
to fetch it. Theory here: https://git-scm.com/book/en/v2/Git-Tools-Submodules - Open
ProtonMail/ProtonMail.xcworkspace
and update project settings to use your own provisioning profile. - Run the app.
Current live version 3.1.4