Skip to content

FlowCrypt/flowcrypt-ios

Repository files navigation

📱 FlowCrypt iOS App (Encrypt email with PGP)

Build Status

👋 Try our app
⬇ Download the FlowCrypt app on your device from the FlowCrypt Downloads page.

⚙️ Installation

First, you need to have the latest version of Xcode installed.

To run the app, please follow these instructions:

# 1. Clone the repository
git clone https://github.com/FlowCrypt/flowcrypt-ios.git && cd flowcrypt-ios
# 2. To set up Husky and ESLint
npm install
# 3. Set up your environment
sudo xcode-select --install
curl -sSL https://get.rvm.io | bash -s stable
rvm install 3.0.2
rvm --default use 3.0.2
# 4. Install SwiftFormat
brew install swiftformat
# 5. Install the dependencies
make dependencies

💻 Development

We recommend developing and running tests using only the Debug FlowCrypt scheme.

🖌️ Code Design

Please refer to our Code Design README to learn how we handle errors and tasks.

🔍 UI Tests

Please refer to our Appium README for UI tests. It explains how to configure your environment, build the app, and write, run, or debug tests.

📚 Dependency docs

  • UI: We use Texture to improve the performance, memory efficiency, and thread safety of the app.
  • Storage: We use Realm as an alternative to SQLite.
  • IMAP/SMTP provider: We use MailCore which provides an asynchronous API to work with the e-mail protocols.
  • Icons: We use SF Symbols, a powerful resource for a vast collection of vector icons.

🛠️ Generating .ipa for penetration tester (Admin)

1. Get the UUID of their device and input it into the Apple Developer account ➜ Devices.
2. Choose the right build (e.g. FlowCrypt Enterprise) and choose Any iOS Device (arm64).
3. XcodeProductArchive.
4. Distribute appAdd HocNextNext (automatically manage signing).
5. This creates a folder at the target where you export it, and the IPA will be there.