Skip to content

Co-Epi/app-ios

Repository files navigation

CoEpi for iOS

This is the repository for the iOS implementation of CoEpi. See CoEpi.org/vision for background, and see the rest of our CoEpi repositories here.

Build Status

Develop branch: Build status

Setup

  • Install Carthage*
  • in the root of your project, run
carthage bootstrap

* This project uses primarily SPM as dependecy manager. Carthage is used temporarily as fallback for some dependencies

brew install swiftlint

Core

The core (domain logic, networking, etc.) of this app is written in Rust. It's used as a normal dependency, via Carthage, so you don't need additional setup.

If you want to contribute to core, create a PR in its repo. The documentation to set it up for iOS is in its wiki.

Contribute

CoEpi is an open source project with an MIT license - please do feel free to contribute improvements!

  1. Some code guidelines and recommendations exist.
  2. For new contributors, fork the develop branch to get started.
  3. Commit changes to your version branch.
  4. Push your code, and make a pull request back to the CoEpi develop branch.

Need help getting started? Just ask! You can open an issue, or start your PR, and tag @danamlewis or @scottleibrand in a comment to ask for assistance.

Internationalization

Any text visible to the user should be translated into the phone's preferred language. See the Internationalization wiki page for details on how to do that.

Autogeneration of Swift code (e.g. Equatable)

  • Install Sourcery
  • Run sourcery in the project's root.

Autoformat

This project uses SwiftFormat to format code. After installing it, you can format from the terminal or using an Xcode extension (you can assign a shortcut to it). For now not integrated in the build process, as it clears the undo history.

Test CoEpi on iOS

Looking to test CoEpi on iOS? You can run it locally, or use the latest version available on TestFlight here.