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.
Open Food Facts is a food products database made by everyone, for everyone.
You can help translate Open Food Facts and the app at (no technical knowledge required, takes a minute to signup): translate.openfoodfacts.org
- Offline barcode scanning
- Product search
- Allergen alert
- Product details
- Image upload
- Handle multilingual products (view)
- Handle multilingual products (data addition)
- On-the-fly OCR of ingredients and labels for new product addition
- Internationalised user interface
- Native editing
- Product addition
- Night mode
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.
- Additives evaluation (already ready server side and on Android) issue #173
- Compare Mode issue #153
- Product lists (to buy, eaten…)
- On-device Product cache
- Add a food category browser
- Add support for the new JSON taxonomy system (multilingual, and data augmentation from Wikipedia/Wikidata)
- Support for Open Beauty Facts, Open Pet Food Facts and Open Product Facts
Here are issues and feature requests you can work on:
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.
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.
New to Carthage? Others have found the following resources helpful:
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
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
OpenFoodFacts has a Slack team where we chat, discuss and support each other, join the #iOS and #iOS-alerts channels. Click here to join.