/openfoodfacts-ios

Native (Swift) version of Open Food Facts for iOS. Coders & Decoders welcome 🤳🥫 😊

Primary LanguageSwiftApache License 2.0Apache-2.0

Open Food Facts iOS app

Build Status

Project Status Stories in Ready Average time to resolve an issue Percentage of issues still open Crowdin

Download on the App Store

What is Open Food Facts?

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

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):
https://translate.openfoodfacts.org

Features

  • (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

Roadmap

  • Native editing
  • 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
  • On-device Product cache
  • Add a food category browser
  • ARKit overlay

Images

## Building

Dependencies

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

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

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, join the #iOS and #iOS-alerts channels. Click here to join.