/ios-mail

Primary LanguageSwiftGNU General Public License v3.0GPL-3.0

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 10-13.

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

Architecture

MVVM-C with services. Model-View-ViewModel architecture, plus the Coordinator pattern.

Dependencies

Internal

Third Party

Acknowledgements

Content Explanation

Setup

  1. Have macOS up to date and install Xcode 11.1
  2. 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
  3. DOMPurify(@b06b6b2ac8) and Cocoapods are pre-downloaded. We are using git submodules for tracking DOMPurifier, so after cloning you have to run git submodule init and git submodule update to fetch it. Theory here: https://git-scm.com/book/en/v2/Git-Tools-Submodules
  4. 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