Home

Awesome

<img height='175' src="https://static.openfoodfacts.org/images/svg/openfoodfacts-logo-en.svg" align="left" hspace="1" vspace="1">

Open Food Facts iOS app

Note: Xcode's limited Markdown support means this file is best viewed on GitHub. Not seeing this as a formatted file in Xcode? Check out the Build section of the project wiki on GitHub for troubleshooting tips.

Build Status Project Status Average time to resolve an issue Percentage of issues still open Crowdin

<a href="https://apps.apple.com/app/open-food-facts/id588797948"><img height="75" src="https://user-images.githubusercontent.com/7317008/43209852-4ca39622-904b-11e8-8ce1-cdc3aee76ae9.png" align="left" hspace="1" vspace="1"></a>

What is Open Food Facts?

Open Food Facts is a food products database made by everyone, for everyone.

Help translate Open Food Facts in your language

You can help translate Open Food Facts and the app at (no technical knowledge required, takes a minute to signup): translate.openfoodfacts.org

Features

What can I work on ?

Open Food Facts on iPhone and iPad has 0,5M users and 1M products. Each contribution you make will have a large impact on food transparency worldwide. Finding the right issue or feature will help you have even more more impact. Feel free to ask for feedback on the #android channel before you start work, and to document what you intend to code.

Priority roadmap

Secondary roadmap

Issues

Here are issues and feature requests you can work on:

Search issues

Scan issues

History issues

Product editing issues

Refactoring issues

Onboarding new users

Viewing products

Images

First App Store screenshot Second App Store screenshot Third App Store screenshot Fourth App Store screenshot Fifth App Store screenshot

Building

Automatic setup

The easiest way to setup the dependencies of the project and generate the Xcode project is to run sh scripts/setup.sh from the top of the repository.

Manual setup

If you prefer to not use the sh scripts/setup.sh script and install the dependencies yourself, follow the instructions below.

We use Carthage for dependency management.

Run carthage bootstrap --platform iOS --cache-builds before opening the project in Xcode.

You can install Carthage with Homebrew:

brew install carthage

To generate the Xcode project run sh scripts/create-project.sh. In order to generate the Xcode project we use XcodeGen.

Carthage resources

New to Carthage? Others have found the following resources helpful:

Fastlane

Currently there are two lanes, one for running the tests (fastlane test) and one for uploading a new beta to TestFlight (fastlane beta).

You can install Fastlane with Homebrew:

brew cask install fastlane

Generating screenshots

fastlane snapshot 
Roadmap on automatic screenshot generation:

SwiftLint

We have a script that runs when building the app, it executes SwiftLint to enforce a style and conventions to the code.

You can install SwiftLint with Homebrew:

brew install swiftlint

Support

OpenFoodFacts has a Slack team where we chat, discuss and support each other, join the #iOS and #iOS-alerts channels. Click here to join.