iOS-mail
Introduction
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 11-14.
License
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
Table of Contents
- Introduction
- License
- Architecture
- Dependencies
- Content Explanation
- Setup
- Live version
- Articles
- Our Team
- TODO
Architecture
MVVM-C with services. Model-View-ViewModel architecture, plus the Coordinator pattern.
Dependencies
Internal
Third Party
Content Explanation
- OpenPGP
- Keymaker
- ProtonMail
- ProtonMailCommon
- Push
- PushService
- Share
- Siri
- Scripts
- Trust Model
- Local Data Protection
Setup
- Have macOS up to date and install Xcode 11.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
DOMPurify
(@b06b6b2ac8) and Cocoapods are pre-downloaded. We are using git submodules for tracking DOMPurifier, so after cloning you have to rungit 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 click the run button
Live version
Current live version 1.11.13
Articles
Our Team
TODO
- UI redesign
- multiple user support
- share frameworks