OakOTP is an iOS app built with SwiftUI for managing your 2FA codes.
- Supports iPhone & iPad
- Supports scanning a QR code or entering credentials manually
- Supports both TOTP & HOTP codes
- Fully sync accounts with iCloud across all your devices
- Secured with biometrics or a password
- Built with SwiftUI utilising the MVVM pattern
- Dependency Injection for easy mocking in tests
- Decent Unit & UI test coverage
To get a local copy up and running follow these simple steps.
OakOTP uses Fastlane for running tests so make sure you have Fastlane setup and configured on your machine.
- Clone the repo
git clone git@github.com:AlexCatch/Oak.git
- Run Bundler
bundle install
- Open
OakOTP.xcodeproj
and configure signing for each target (Automatically managing signing will suffice.)
You can either run tests through Xcode or run bundle exec fastlane test
from your terminal to run all unit and UI tests
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Make sure your changes are tested either with unit or UI tests. (
bundle exec fastlane test
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you need to reach out, shoot me an email at alex@alexcatchpoledev.me
or you can find me on LinkedIn
A few open-source packages are used in OakOTP - you can find them listed below.
Distributed under the MIT License. See LICENSE
for more information.