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

Overview

Open Food Facts iPhone and iPad app

Build Status Project Status Crowdin TestFlight release

What is Open Food Facts? What can I work on ?

Open Food Facts is a food products database made by everyone, for everyone. Open Food Facts on iPhone and iPad has 0,5M users and 1,6M 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.

Features you can work on

Join the team !

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

Current features

  • Barcode scanning (including a simple offline mode)
  • NOVA, Nutri-Score and Eco-Score display (including in grey if we don't have them yet for the product)
  • Ingredient analysis with a simple way to get it if not available
  • Product page (needs revamping)
  • Search for products based on name
  • Allergen alerts (would need to be more discoverable)
  • Internationalised user interface & multilingual products handling (view & data addition)
  • Product addition & editing (incl. on-the-fly OCR of ingredients and labels, plus integration of the OFF AI)
  • Image upload
  • Night mode

Code documentation

Automatically generated code documentation on the wiki

Building

Quick & 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, before opening the project in Xcode.

Dependency Management - Carthage

We currently use Carthage for dependency management. New to Carthage? Others have found the following resources helpful:

Before opening the project in Xcode, run brew install carthage

carthage bootstrap --platform iOS --cache-builds

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

Fastlane

See the fastlane/README.md for a list and description of all lanes.

To launch a lane, you must have several env variable set. This can be done by creating a .env file in the fastlane folder, and fill it (see .env.example)

You can install Fastlane with Homebrew:

brew cask install fastlane

Generating screenshots

fastlane snapshot 
Roadmap on automatic screenshot generation:

Style and conventions - SwiftLint

A script runs when building the app that executes SwiftLint to enforce style & conventions to the code.

You can install SwiftLint with Homebrew:

brew install swiftlint

Error reporting - Sentry

Track crashes

Translations

You can help translate Open Food Facts (no technical knowledge required, takes a minute to signup).

Comments
  • Product Attributes API model

    Product Attributes API model

    PR Description

    Adding a new Product Attributes model to fit the new api This is just a rough draft so please let me know if I'm headed in the right direction. As discussed with Pierre, this is just one option, the other being to make the existing Product.swift model accommodate the new api with attribute_groups etc.

    Type of Changes

    • [x] Fixes Issue #743
    • [x] New feature

    Proposed changes

    • A new ProductAttributes model to store the data in the new format
    • New Json keys for the model
    • Whatever adjustments necessary on the network side to use the new api

    Checklist

    Make sure you've done all the following (Put an x in the boxes that apply.)

    • [x] If you have multiple commits please combine them into one commit by squashing them.
    • [ ] Code is well documented
    • [ ] Included unit tests for new functionality
    • [ ] All user-visible strings are made translatable
    • [ ] Code passes Travis builds in your branch
    product-browsing ecoscore product-attributes 
    opened by jncosideout 15
  • Add support for the new server-side Vegan/Vegetarian/Palm Oil detection

    Add support for the new server-side Vegan/Vegetarian/Palm Oil detection

    Mockups: image

    Add support for the new server-side Vegan/Vegetarian/Palm Oil detection

    • [ ] Update the various product queries to include the ingredients_analysis_tags field: https://world.openfoodfacts.org/api/v0/product/3564700459447.json?fields=ingredients_analysis_tags {"status":1,"product":{"ingredients_analysis_tags":["en:palm-oil-free","en:non-vegan","en:non-vegetarian"]},"code":"3564700459447","status_verbose":"product found"}
    • [ ] We're adding a Detection taxonomy to be able to add new detections on the fly and to reduce hardcoding/simplify implementation: https://static.openfoodfacts.org/data/taxonomies/ingredients_analysis.json It has: the tag, the name in various languages, the icon, the color.
    • [ ] Explain why it is not vegan/vegetarian thanks to this field: https://world.openfoodfacts.org/api/v0/product/3564700459447.json?fields=ingredients

    {"product":{"ingredients":[{"rank":1,"vegetarian":"no","vegan":"no","text":"Thon albacore","id":"en:yellowfin-tuna"},{"id":"en:water","text":"eau","vegan":"yes","vegetarian":"yes","rank":2},{"rank":3,"id":"en:salt","text":"sel","vegan":"yes","vegetarian":"yes"}]},"code":"3564700459447","status":1,"status_verbose":"product found"}

    • [ ] Add the following disclaimer The analysis is based solely on the ingredients listed and does not take into account processing methods.
    help wanted feature hacktoberfest 
    opened by teolemon 15
  • Product loaded in French when the UX is in Dutch

    Product loaded in French when the UX is in Dutch

    image The ingredient list is in French, while a Dutch ingredient list exists

    This is a regression from V1. This is also SUPER important for Belgium and Switzerland.

    Product: https://be.openfoodfacts.org/product/5400113561767/aardappelpuree-delhaize Barcode to scan: https://barcode.tec-it.com/en/EAN13?data=5400113561767

    next-release-blocker 
    opened by teolemon 14
  • Hide

    Hide "City and country of purchase"

    Signed-off-by: tejuamirthi [email protected]

    PR Description

    Made requested changes by not adding the city and country row

    Fixes: #727

    Type of Changes

    • [X] Fixes Issue #727

    Proposed changes

    • Hide the city and country of purchase

    Screenshots

    Before

    Screenshot 2020-10-03 at 7 52 25 PM

    After

    Screenshot 2020-10-03 at 7 51 44 PM

    Checklist

    Make sure you've done all the following (Put an x in the boxes that apply.)

    • [X] If you have multiple commits please combine them into one commit by squashing them.
    • [X] Code is well documented
    product-browsing 
    opened by tejuamirthi 13
  • Feature/sentry crash reports

    Feature/sentry crash reports

    PR Description

    Proposed changes

    • remove all occurences and references to Fabric / Crashlytics
    • send crash reports and errors to Sentry
    • choose version to create in testflight automatically (using the edit or live version from AppStoreConnect)

    ⚠️ I do not have access to the appstore connect account, so I could not test the "refresh_dsyms" lane (it downloads dsyms, upload them to sentry, and clean up), so I could not verify that my upload_symbols_to_sentry configuration is correct, @teolemon or @aleene could you try ?

    Just run fastlane refresh_dsyms in the root of the project. Make sure you have an env variable set for the token : SENTRY_AUTH_TOKEN (I can give you the token by MP)

    Clarification on the 'beta' lane changes

    In order to make the lane even more autonomous, I removed the need to set the correct version in the xcode project manually.

    What the lane does :

    • get the version and build number from the live version on the app store
    • get the version and build number from the version currently being edited on the app store (if any)
    • if there is a version being currently edited in the app store (it means we are working to create a version), then we use this version number. If not, we use the version number from the live version "bumped" by 0.0.1
    • for the build number, we take the highest + 1
    • the lane then set those values in the project
    • upload to testflight
    • commit, tag and push

    This way, the version number are always bumped. If we want to make a major release for example, we can still manually set the version number in the xcode project, it will be taken if it is greater than the versions found on the AppStore.

    opened by philippeauriach 13
  • Adding a new product always sends back

    Adding a new product always sends back "123456789" instead of the actual barcode

    Symptom: Adding a new product always sends back "123456789" instead of the actual barcode Build: Master version currently on TestFlight - Stable release works fine. Video: https://twitter.com/TaciteData/status/1155089268722798592

    help wanted next-release-blocker 3.1 
    opened by teolemon 12
  • Resolves #151, #204, #205, #206 Tiny Fixes - 1

    Resolves #151, #204, #205, #206 Tiny Fixes - 1

    PR Description

    I have combined four tiny fixes into one PR. Changes for each -

    #151 Label removed and #205 Hide the nutrition table when there are no nutrition facts simulator screen shot - iphone 5s - 2019-03-02 at 18 42 13

    #204 Instead of removing the colon, added the line "Substances or products causing allergies or intolerances (as it is Label : item) simulator screen shot - iphone 5s - 2019-03-02 at 18 44 27

    #206 Added another line so the history privacy line does not clip. Note - I have used the French translation just for demonstration purposes on an iPhone 5s. simulator screen shot - iphone 5s - 2019-03-02 at 18 41 49

    • [x] Fixes Issue #151, #204, #205, #206

    Checklist

    Make sure you've done all the following (Put an x in the boxes that apply.)

    • [ ] If you have multiple commits please combine them into one commit by squashing them.
    • [ ] Code is well documented
    • [ ] Included unit tests for new functionality
    • [x] All user-visible strings are made translatable
    • [ ] Code passes Travis builds in your branch
    opened by rudrankriyam 11
  • Offline mode for consultation

    Offline mode for consultation

    • Download from the server, and store a reduced version (60MB) of Open Food Facts on the device.
    • Read from this version when offline, go back to the API when online
    • Offer to refresh the database in the settings
    • Offer to refresh automatically when on wifi
    feature 
    opened by teolemon 11
  • Uploaded photos (from edit or add mode) are not selected

    Uploaded photos (from edit or add mode) are not selected

    Uploaded photos (from edit or add mode) are not selected. The expected result is that they are selected. I'm unsure about what we changed that altered that behaviour.

    We got multiple reports from users, and I could reproduce the bug.

    bug P1 
    opened by teolemon 10
  • More visible edit button

    More visible edit button

    PR Description

    Edit button has been moved from Product Summary bottom to Navigation bar right button.

    Type of Changes

    • [x] Fixes Issue #[421]
    • [ ] New feature

    Proposed changes

    • There is a weird logic to add a share button, it's been deleted.
    • Moved Edit button to Navigation bar right button.
    • Remove SummaryFooterCellController since it's no longer required.

    Screenshots

    image

    Before

    https://user-images.githubusercontent.com/21128742/67881930-080e2b80-fb07-11e9-9d50-4bba74bcd828.png

    After

    https://user-images.githubusercontent.com/21128742/67881950-0e9ca300-fb07-11e9-98af-3e51b538c01a.png

    Checklist

    Make sure you've done all the following (Put an x in the boxes that apply.)

    • [x] If you have multiple commits please combine them into one commit by squashing them.
    • [x] Code is well documented
    • [ ] Included unit tests for new functionality
    • [x] All user-visible strings are made translatable
    • [ ] Code passes Travis builds in your branch
    product-browsing product-editing UI 
    opened by pacocd 10
  • Crash on photo taking

    Crash on photo taking

    image Un nouveau produit, j’ai appuyé sur “front picture”, j’ai visé mon produit et j’ai appuyé pour prendre une photo et ça a crash direct

    1. New product
    2. Click on "Front Picture"
    3. Boom

    Crash report sent:

    around 11:57 on an  iPhone XS
    
    bug crash 
    opened by teolemon 10
  • chore(deps): bump fastlane from 2.210.1 to 2.211.0

    chore(deps): bump fastlane from 2.210.1 to 2.211.0

    Bumps fastlane from 2.210.1 to 2.211.0.

    Release notes

    Sourced from fastlane's releases.

    2.211.0 Improvements

    • [release] fix for more forgiving changelog generation for release (#20851) via Josh Holtz (@​joshdholtz)
    • [match][sigh] add support for Apple Silicon Macs in iOS/iPadOS provisioning profiles (#20676) via Philipp Resch (@​PinkidG)
    • [snapshot] fix compiler error on SnapshotHelper.swift (#20689) via amcalgates (@​amcalgates)
    • [match] fix match nuke not deleting decrypted files (#20776) via Iulian Onofrei (@​revolter)
    • [docs] update path to iTMSTransporter for Fastlane.swift (#20795) via Rafał Wyszomirski (@​rafauke)
    • [action][update_code_signing_settings] add sdk key to update_code_signing_settings (#20655) via gabimoncha (@​gabimoncha)
    • [pilot][deliver] fix private method clone' called for # on uploading app (#20662) via freddi(Yuki Aki) (@​freddi-kit)
    • [spaceship] implement resolution center API in Spaceship::ConnectAPI (#20726) via Hiroto Nakamura (@​Hiroto-N)
    • [action] add xcodes action, deprecating xcversion and xcode-install (#20672) via Roger Oba (@​rogerluan)
    • [frameit] fix device detection that would match less specific devices first (#20642) via Guglielmo Faglioni (@​guidev)
    • [deliver] add support to detecting and uploading 6.7" (iPhone 14 Pro Max) screenshots (#20694) via Evgeny Cherpak (@​cherpake)
    Commits
    • 8e456d6 Version bump to 2.211.0 (#20852)
    • 5ab5e0c [release] fix for more forgiving changelog generation for release (#20851)
    • 56db40b [match][sigh] add support for Apple Silicon Macs in iOS/iPadOS provisioning p...
    • e59bb1c [snapshot] fix compiler error on SnapshotHelper.swift (#20689)
    • 62fc877 [match] fix match nuke not deleting decrypted files (#20776)
    • 669a4a5 Update path to iTMSTransporter (#20795)
    • 96e71d5 [action][update_code_signing_settings] add sdk key to update_code_signing_s...
    • 991ce9b use dup instead of clone for error case (#20662)
    • 2263403 [spaceship] implement resolution center API in Spaceship::ConnectAPI (#20726)
    • 4b30089 [action] add xcodes action, deprecating xcversion and xcode-install (#2...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies ruby 
    opened by dependabot[bot] 0
  • fix: fixes #981 issue wrong language

    fix: fixes #981 issue wrong language

    PR Description

    Describe the changes made and why they were made instead of how they were made.

    Type of Changes

    • [ ] Fixes Issue #981
    • [ ] New feature

    Proposed changes

    • changed to english text from spanish

    Screenshots

    Before

    After

    Checklist

    Make sure you've done all the following (Put an x in the boxes that apply.)

    • [ ] If you have multiple commits please combine them into one commit by squashing them.
    • [x] Code is well documented
    • [ ] Included unit tests for new functionality
    • [ ] All user-visible strings are made translatable
    • [x] Code passes Travis builds in your branch
    opened by urlunaticguy 0
  • Transfer the valuable parts of the codebase to openfoodfacts-swift

    Transfer the valuable parts of the codebase to openfoodfacts-swift

    Problem

    • We're not using this codebase as our main app anymore
    • It would be a shame to throw this codebase away
    • Transfer the valuable parts of the codebase to openfoodfacts-swift so that other apps can leverage it
    enhancement P0 good first issue 
    opened by teolemon 0
  • Problem with several translations

    Problem with several translations

    Epic: #

    Description

    When choosing some languages for example Portuguese not every element in the app is translated - maybe there are too many languages than needed or somebody should pay a little bit more attention to this matter.

    Acceptance criteria

    Every element should be translated in the chosen language. There should not be a situation when some things stay in English and the rest is being translated.

    What would a demo look like

    I think that one solution is to limit the number of languages to only couple, most commonly used. The other thing to do is just to check if in every language everything is translated correctly.

    Notes

    • I attach one video of changing language and seeing, that not everything is quite well.
    • I also attach pictures of the issues described. I think that the situation when even on the first page main text is not in chosen language :(

    Tasks

    • change the approach or enhance the translation. IMG_4791 IMG_4790 IMG_4788 IMG_4786
    opened by BarbaraKlopocka 0
  • Wrong language

    Wrong language

    https://github.com/openfoodfacts/openfoodfacts-ios/blob/7731df26d2c92d6cd7489e97554cc936972855df/Sources/Localization/en.lproj/Localizable.strings#L86

    The source is in Spanish, should be English, spotted by NCAA on Crowdin.

    bug translations 
    opened by yarons 0
Releases(3.4.4)
  • 3.4.4(Oct 9, 2021)

    What's Changed

    • Change credits text view to support hyperlinks by @yegorsch in https://github.com/openfoodfacts/openfoodfacts-ios/pull/45
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/40
    • Change Username keyboard to e-mail address by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/47
    • Update LICENSE by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/69
    • Resolves #56 Add iOS Open Beauty Facts application link by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/68
    • Add 'the free food products database' heading in the Launch Screen by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/50
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/63
    • Create Pull Request Template by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/77
    • Resolves #75 Added Contact and Frequently Asked Questions button by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/76
    • Resolves #52 Add "Forgot password?" button by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/62
    • Resolves #73 Translate Open Food Facts" button by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/74
    • Create issue template by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/86
    • Button to share product is added by @yegorsch in https://github.com/openfoodfacts/openfoodfacts-ios/pull/64
    • Resolves #92, Identifier Name Violation Issues after updating to Xcode 9.3 by @antsangrigoli in https://github.com/openfoodfacts/openfoodfacts-ios/pull/93
    • Create contributing template by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/87
    • Resolves #78, resolves #79 Translate Test Strings and Remove $(PRODUCT_NAME) by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/90
    • Updated string for issue #100 by @maevekenny in https://github.com/openfoodfacts/openfoodfacts-ios/pull/103
    • Resolve #85 Search: Products keep repeating by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/104
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/70
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/105
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/106
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/108
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/111
    • Update travis build for xcode 10.1 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/120
    • Continuous scan of products by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/118
    • Use official images assets for nutriscore by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/119
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/121
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/124
    • Update mocks to the new productApi interface signature by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/125
    • Made some display fixes in the continous scan feature by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/126
    • Improved history and search results display by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/127
    • Images were not displayed in ingredients and nutrition table tabs by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/129
    • Display some taxonomies full name and make them clickable by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/128
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/130
    • fix constraint in continuous scan summary (bug on ipad) by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/134
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/131
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/157
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/159
    • Full product creation by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/156
    • Settings reorganization - fixes #139 by @s4rv4d in https://github.com/openfoodfacts/openfoodfacts-ios/pull/158
    • Ask confirmation before deleting search history by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/165
    • Allergens presence alerts by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/174
    • Branding & UI/UX by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/175
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/161
    • Tiny issues, carbon footprint, header reformat by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/192
    • Wording fixes by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/194
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/193
    • Logout alert vc and added new keys in localizable file fixes issue 148 by @s4rv4d in https://github.com/openfoodfacts/openfoodfacts-ios/pull/166
    • Show scan on startup button - fixes#147 by @s4rv4d in https://github.com/openfoodfacts/openfoodfacts-ios/pull/162
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/197
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/198
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/202
    • Resolves #199 Essentials URL not localised by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/200
    • Resolves #149 Contact doesn't do anything when clicked by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/191
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/210
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/215
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/218
    • Text in local language by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/223
    • Resolves #185 String bug in settings by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/225
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/224
    • Issue 211 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/228
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/230
    • Save previous sections when saving. Fixes #179 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/231
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/232
    • Accept coma or dot for double value. Fix #183 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/234
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/233
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/236
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/237
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/239
    • The images are now localized as well. by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/238
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/240
    • Resolves #151, #204, #205, #206 Tiny Fixes - 1 by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/221
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/242
    • Other language approach by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/247
    • Minerals/Vitamins/Nucleotides by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/246
    • offline products consultation. Fix #35 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/249
    • Localized languages by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/248
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/244
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/251
    • Nutrition table in webview. Fix #213 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/252
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/253
    • Missing states key in all and summary product fields by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/255
    • Cropping of product search no results label by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/256
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/254
    • Fix for carbon impact by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/259
    • Update README.md by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/264
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/258
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/270
    • Xcode 10 2 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/283
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/280
    • Create product language #281 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/285
    • kill xliff by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/293
    • Load full product when coming from search, to be sure we have all needed data by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/297
    • Full product edition by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/284
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/295
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/298
    • fix The portion size is repeated on the nutrition tab by @safiach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/302
    • fix Add a title for the nutrient levels by @safiach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/303
    • Remove double slashes in taxonomies URLs by @cquest in https://github.com/openfoodfacts/openfoodfacts-ios/pull/299
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/300
    • UI Main thread warnings and dutch by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/311
    • Fixed subtitle formatting on string 58 by @kant in https://github.com/openfoodfacts/openfoodfacts-ios/pull/312
    • Resolves #261 Weird template for contact by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/262
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/309
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/314
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/317
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/319
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/320
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/322
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/323
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/324
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/327
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/328
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/331
    • Fix new product creation #325 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/330
    • #60 - Display full name of additives, as a list by @aubincleme in https://github.com/openfoodfacts/openfoodfacts-ios/pull/332
    • #289: Typo in string "Login in with your account" by @aubincleme in https://github.com/openfoodfacts/openfoodfacts-ios/pull/334
    • Pull in 3.18.0 version of Realm by @SuzGupta in https://github.com/openfoodfacts/openfoodfacts-ios/pull/346
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/342
    • Crash on startup IOS13 by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/344
    • Fix build for MarqueeLabel.framework by @SuzGupta in https://github.com/openfoodfacts/openfoodfacts-ios/pull/350
    • Pr/333 by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/348
    • Solves product creation by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/329
    • Pruning by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/263
    • Added .xcodesample.plist to OpenFoodFacts.xcodeprroj/ to force Xcode … by @SuzGupta in https://github.com/openfoodfacts/openfoodfacts-ios/pull/361
    • Hopefully solves #355 by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/356
    • Simple Xcode 11 warning repairs by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/359
    • Fix broken build by @mike011 in https://github.com/openfoodfacts/openfoodfacts-ios/pull/363
    • Traces/Vitamins/Nucleotides/Minerals/Other tags by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/257
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/349
    • Tag crash by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/291
    • Set font family to apple default for webviews by @codethebeard in https://github.com/openfoodfacts/openfoodfacts-ios/pull/375
    • #371 new product barcode is now accepted. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/374
    • Upgrade to Swift 5.1 by @mike011 in https://github.com/openfoodfacts/openfoodfacts-ios/pull/373
    • #369 corrected urls by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/370
    • #362 dark mode supported by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/366
    • Fixes Create an account and Forgot password button landings in LoginV… by @SuzGupta in https://github.com/openfoodfacts/openfoodfacts-ios/pull/365
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/380
    • Add back the README.md file by @SuzGupta in https://github.com/openfoodfacts/openfoodfacts-ios/pull/385
    • Dark mode details solved by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/384
    • Fixed a ton of lint warnings, now there are only 4 warnings by @mike011 in https://github.com/openfoodfacts/openfoodfacts-ios/pull/391
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/390
    • #387 transparency of search results solved by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/389
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/352
    • Add fastlane support for screenshots by @aubincleme in https://github.com/openfoodfacts/openfoodfacts-ios/pull/338
    • Issue 386 native credit by @davidlamys in https://github.com/openfoodfacts/openfoodfacts-ios/pull/398
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/401
    • #397 dark mode finetuning by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/399
    • #407 activity indicator now honoring dark mode by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/409
    • Issue 408 dark mode webview by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/411
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/404
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/423
    • 416/417/418/419 UI improvements by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/424
    • #422 name and ingredients are now shown in edit mode. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/425
    • Workaround for #432 by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/434
    • Wait up to 180 minutes for travis with no output to finish and run the unit and ui tests by @mike011 in https://github.com/openfoodfacts/openfoodfacts-ios/pull/406
    • Added Carthage and README troubleshooting by @SuzGupta in https://github.com/openfoodfacts/openfoodfacts-ios/pull/413
    • #431 set backgrounds to .clear. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/437
    • Add the new strings to the localizable files by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/436
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/438
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/439
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/440
    • Standardize hiding/showing of labels for offline product and db response in ScanProductSummaryView by @davidlamys in https://github.com/openfoodfacts/openfoodfacts-ios/pull/412
    • localized-urls by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/447
    • 446 removed definition of SecureServer by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/449
    • 445 removed localizable files by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/450

    • #443 added forgot password translations by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/452
    • #429 swipe down to hide floating panel by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/453
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/454
    • #146 Add 'Scan your first product' button by @nick130586 in https://github.com/openfoodfacts/openfoodfacts-ios/pull/455
    • #458 a new image is now assigned to the right language. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/459
    • #444 Repaired language dependent urls by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/451
    • Delete duplicate localization files and fix en.lproj and nl.lproj paths by @magauran in https://github.com/openfoodfacts/openfoodfacts-ios/pull/333
    • Fonts changed to textStyles by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/410
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/460
    • #140 added a button to the nutriscore by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/461
    • #59 added the generic name to the summary view by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/462
    • #61 reinstalled share button by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/463
    • Resolves #88 Add new white icons [WIP] by @rudrankriyam in https://github.com/openfoodfacts/openfoodfacts-ios/pull/91
    • #66 limited the fields in a product search query by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/465
    • #467 removed hardcoded english by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/468
    • #464 did the migration by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/469
    • #466 introduced optional chaining by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/470
    • #141 extra nova row by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/471
    • #219 repaired contributions url when logged in with email address. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/472
    • #245 Edited json keys for traces by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/473
    • #475 - adapt nova strings by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/476
    • #477 adapted App Store icons (and deleted non relevant ones) by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/478
    • fix-nova-strings by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/480
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/481
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/482
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/483
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/493
    • #136 Add the ability to remove history items by @nick130586 in https://github.com/openfoodfacts/openfoodfacts-ios/pull/489
    • #486 moved the tableView reloadData by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/490
    • #402 Added a save barButton by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/474
    • #491 editing packaging is now supported by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/492
    • #184 Reformatted login page by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/479
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/494
    • #496 solved crash by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/497
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/495
    • #220 user agent set for all http requests. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/505
    • #500 changed "add picture" image color by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/504
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/503
    • #498 increased height of NOVA stackview on Ingredients tab by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/499
    • Countries as tags by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/518
    • Update crowdin.yml by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/514
    • #507 Better scaling of nova explanation. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/512
    • #509 read novaGroup as int and string by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/511
    • #508 logging in no longer worked. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/510
    • #519 nicer tap through to site pages by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/523
    • #520 limit the maximum height of the NOVA image by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/524
    • #512 nutriments are now saved as well. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/525
    • #517 nicer fall back if there are no nutrients. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/526
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/529
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/530
    • #533 added selector check by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/534
    • [Up for review] Vegan / Vegetarian / Palm oil detector by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/414
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/541
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/543
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/544
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/547
    • #545 login button is always enabled. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/546
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/552
    • Ignore scan of invalid barcodes. Fix #304 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/551
    • #548 Added check to see if all taxonomies have any content. If not a … by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/549
    • Feature/promo system home #154 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/550
    • Ingredients analysis fix #321 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/554
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/555
    • [WIP] #321 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/557
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/556
    • fix #559 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/560
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/558
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/561
    • #321 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/570
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/571
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/572
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/578
    • Fix #580 & #581 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/582
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/586
    • Fix #583 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/587
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/588
    • Set main language upon create by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/589
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/590
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/592
    • Fixed bug where HTML elements would appear in product names by @punss in https://github.com/openfoodfacts/openfoodfacts-ios/pull/597
    • Fixes #553 by @chaubss in https://github.com/openfoodfacts/openfoodfacts-ios/pull/596
    • Ask for robotoff questions if any by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/595
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/594
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/598
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/599
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/600
    • Revert html decoder, as it hangs the application by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/605
    • #603 adapted Hunger confirm buttons to dark mode. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/606
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/612
    • #591 Trying to prevent the BLTNBoard crash by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/611
    • fix padding of ingredients analysis switch label Fix #585 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/608
    • #609 added optionals. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/610
    • #603 finally was able to test a robotoff question. Did some finetuning. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/614
    • fix settings cell selection fix#616 by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/617
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/621
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/622
    • Use xcodegen to generate the xcode project and fix the build: all tests building, unit tests succeeding by @acecilia in https://github.com/openfoodfacts/openfoodfacts-ios/pull/623
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/628
    • #573 added an open in Safari share activity by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/615
    • #620 better image uploading by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/633
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/629
    • login-not-username by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/637
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/635
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/639
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/640
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/641
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/642
    • #53 Allow to export the product history to CSV by @nick130586 in https://github.com/openfoodfacts/openfoodfacts-ios/pull/643
    • #55 Allow to switch language from the settings by @nick130586 in https://github.com/openfoodfacts/openfoodfacts-ios/pull/649
    • Added a localized string by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/658
    • Added "API_CANCEL_TITLE" = "Cancel"; by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/660
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/653
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/663
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/664
    • #654 the packaging fields is now correctly handled. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/656
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/665
    • Use standard action icon for csv history export. by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/657
    • The correct language and image type for added products by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/669
    • fix pH by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/666
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/670
    • Progress indicator added by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/671
    • Prepare for universal links by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/668
    • Refactoring and improvements by @mohammedsafwat in https://github.com/openfoodfacts/openfoodfacts-ios/pull/667
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/672
    • Added localisations in english by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/676
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/679
    • Add kcal energy by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/677
    • Added warnings for nutriscore by @aleene in https://github.com/openfoodfacts/openfoodfacts-ios/pull/680
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/681
    • Fix for translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/688
    • Resolves issue 685. Truncated text in settings. by @vicksolanki in https://github.com/openfoodfacts/openfoodfacts-ios/pull/693
    • Feature/sentry crash reports by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/690
    • New Crowdin translations by @teolemon in https://github.com/openfoodfacts/openfoodfacts-ios/pull/682
    • Fix crash in AnalyticsManager using setValue instead of setTag by @philippeauriach in https://github.com/openfoodfacts/openfoodfacts-ios/pull/696

    New Contributors

    • @yegorsch made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/45
    • @rudrankriyam made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/47
    • @antsangrigoli made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/93
    • @maevekenny made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/103
    • @s4rv4d made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/158
    • @safiach made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/302
    • @cquest made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/299
    • @kant made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/312
    • @aubincleme made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/332
    • @SuzGupta made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/346
    • @mike011 made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/363
    • @codethebeard made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/375
    • @davidlamys made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/398
    • @nick130586 made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/455
    • @magauran made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/333
    • @punss made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/597
    • @chaubss made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/596
    • @acecilia made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/623
    • @mohammedsafwat made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/667
    • @vicksolanki made their first contribution in https://github.com/openfoodfacts/openfoodfacts-ios/pull/693

    Full Changelog: https://github.com/openfoodfacts/openfoodfacts-ios/compare/1.0-19...3.4.4

    Source code(tar.gz)
    Source code(zip)
  • 1.0-19(Jan 2, 2018)

    Implement pull to refresh in Product Detail Add language field in ProductAdd Add picker for quantity unit in ProductAdd Implement search history Implement offline product creation

    Source code(tar.gz)
    Source code(zip)
  • 1.0-18(Oct 20, 2017)

    Add reminder to save changes when editting a product

    On the previous release: Improve request cancelling logic when typing into the search bar, should fix the “Something went wrong. Please try again” message. Allow taking new pictures for a product. Add scan on launch setting. Add Discover and How To Contribute links in Settings. Show account creation and contributions links in User views. Add edit button to Product Detail view.

    Source code(tar.gz)
    Source code(zip)
  • 1.0-17(Oct 20, 2017)

    Improve request cancelling logic when typing into the search bar, should fix the “Something went wrong. Please try again” message. Allow taking new pictures for a product. Add scan on launch setting. Add Discover and How To Contribute links in Settings. Show account creation and contributions links in User views. Add edit button to Product Detail view.

    Source code(tar.gz)
    Source code(zip)
  • 1.0-16(Oct 18, 2017)

    Fix double rounding in Nutrition Table Highlight allergens in ingredients list Display allergen tags correctly Allow user to log in Add comment on products added with version of the app and unique anonymous user id

    Source code(tar.gz)
    Source code(zip)
  • 1.0-15(Oct 10, 2017)

    Add 'scan barcode' home screen quick action Add HUD when a barcode is detected while scanning Improve picture UX when adding a product Fix several bugs

    Source code(tar.gz)
    Source code(zip)
  • 1.0-9(Jul 29, 2017)

    In scan view: - Fix rotation bug - Add help instructions - Add tap to focus - Add flash button Create Add product view. Scan a barcode, if it doesn't exist you can take pictures of it, give it a name, brand and quantity. It will be saved to the test version of OFF, world.openfoodfacts.net iPad support New App Icon

    Source code(tar.gz)
    Source code(zip)
  • 1.0-8(Jul 5, 2017)

    Don't display brand and quantity rows when they have no value (all other rows were already checked) Remove focus from search bar when tapping outside it and it has no text Remove testing tab NutriScoreView now displays correctly on rotation Add call to action for pictures in Summary, Ingredient and Nutrition table pages Add an Loading and No Results views when searching, error view comming next

    Source code(tar.gz)
    Source code(zip)
  • 1.0-6(Jun 19, 2017)

    Fixes constraint issues with images in Ingredients and Nutrition Table page. Don't display labels when there's no value in the Product Detail pages. Search now sends a request after the user stops typing, instead of on every character.

    Source code(tar.gz)
    Source code(zip)
  • 1.0-5(Jun 15, 2017)

Owner
Open Food Facts
Open Food Facts is a collaborative, free and open database of food products from around the world.
Open Food Facts
Open source iOS app to track COVID-19 cases in a beautiful, easy-to-use interface

Covidcheck Covidcheck is an app that allows people to track COVID-19 cases in an easy-to-use interface to increase awareness and preparation. Unfortun

Julian Schiavo 255 Aug 11, 2022
OpenCovidTrace iOS App – Fully Private Open Source Contact Tracing

OpenCovidTrace iOS App Visit https://opencovidtrace.org to learn more. WARNING: Issue with DP3T SDK DP3T switched to Exposure Notification Framework o

Open Covid Trace 20 Dec 27, 2022
Swift iOS app that tests if you are depressed

Depressed? is an app that asks you the nine questions from the PHQ-9 questionnaire to determine if you are depressed. The questionnaire is implemented

Christian Lobach 92 Dec 16, 2022
Taiwan Social Distancing App - iOS

social-distancing-ios 臺灣社交距離 App 由衛生福利部疾病管制署與台灣人工智慧實驗室共同研發,提供臺灣地區用戶接收 COVID-19 接觸通知,並提醒收到接觸通知的用戶連繫當地衛生局,以減少傳染風險。 ● 保障個人隱私 利用手機藍牙功能來估計社交互動,資料以匿名方式儲存在個人

AILabs.tw 280 Oct 24, 2022
An iOS application for remembering to take your medications. (Pronounced like the letters R-X.)

Arex An iOS application for remembering to take your medications. Downloading The following commands will set up an Arex checkout. You'll need Xcode o

Alexsander Akers 99 Jun 29, 2022
Coronavirus tracker app for iOS & macOS with maps & charts

Features Live data: Shows the most recent data, and updates automatically. Distribution map with two levels of details: Countries: When the user zooms

Mhd Hejazi 1.5k Dec 28, 2022
Corona Virus Tracker & Advices iOS App with SwiftUI

Corona Virus Stats & Advices App with SwiftUI Features Current statistics of global total confirmed, deaths, recovered cases. Statistics of countries

Alfian Losari 358 Dec 27, 2022
CovidCertificate Apps for iOS

COVID Certificate Apps - iOS This project is released by the the Federal Office of Information Technology, Systems and Telecommunication FOITT on beha

Swiss Admin 111 Dec 19, 2022
:globe_with_meridians: Small iOS app to show some COVID-19 health, data, news and tweets

covid19.swift Small iOS app to show some COVID-19 health, data, news and tweets ⚡ Requirements Xcode 12, iOS 14 Credits API: COVID-19 API: News Tweets

null 26 Nov 30, 2022
Gleam iOS client for VK Hackathon 2018

Gleam for iOS Skin cancer screening app. About Gleam Skin cancer is in third place in terms of the incidence of oncology detection in Russian men and

Alexey Karataev 34 Nov 17, 2022
Glucosio iOS App

Glucosio has moved to Gitlab! Visit our project repos on Gitlab Glucosio for iOS Glucosio for iOS, a user centered free and open source app for Diabet

Glucosio 51 Jul 23, 2022
Intuitive cycling tracker app for iOS built with SwiftUI using Xcode. Features live route tracking, live metrics, storage of past cycling routes and many customization settings.

GoCycling Available on the iOS App Store https://apps.apple.com/app/go-cycling/id1565861313 App Icon About Go Cycling is a cycling tracker app built e

Anthony Hopkins 64 Dec 19, 2022
A drink tracker for iOS with Untappd and HealthKit integration.

Good Spirits is a drink tracking iOS app that helps you stay under the government limits for "low-risk" drinking. Includes charts and stats, the abili

Alexei Baboulevitch 171 Nov 22, 2022
iOS and WatchOS Client for the Nightscout CGM System

Nightguard This is an iPhone and Apple Watch application to display blood glucose values stored at your nightscout server. Description Disclaimer! Don

null 170 Dec 28, 2022
Application iOS de l'outil ViteMaDose

Vite Ma Dose pour iOS Présentation du projet Vite Ma Dose est un outil permettant de détecter les rendez-vous de vaccination. Cette application rapide

CovidTracker 32 Feb 9, 2022
CoronaMelder - COVID-19 Notification App for iOS

CoronaMelder - COVID-19 Notification App for iOS This repository contains the native iOS implementation of the Dutch COVID-19 Notification App CoronaM

Ministerie van Volksgezondheid, Welzijn en Sport 121 Dec 10, 2022
OnBoardSwiftUI-Food - Food App Onboarding screen made with SwiftUI

OnBoardSwiftUI-Food Food App Onboarding screen made with SwiftUI. App Details Lo

null 1 Apr 20, 2022
On This Day is a cross-platform smartphone application built with Flutter, fetching facts from the NumbersAPI

On This Day is a cross-platform smartphone application built with Flutter, fetching facts from the NumbersAPI. There are three ways to fetch facts, by date (MM/YY format), by day of the year (1-366) and randomly.

null 1 Jun 19, 2022
Monkey is an unofficial GitHub client for iOS,to show the rank of coders and repositories.

Monkey for GitHub 中文README Monkey is an unofficial GitHub client. Monkey for GitHub is my first App,open source project.Welcome to download. GitHub op

coderyi 1.8k Jan 6, 2023
Easy and lightweight network layer for creating different set of network requests like GET, POST, PUT, DELETE customizable with coders conforming to TopLevelDecoder, TopLevelEncoder

Easy and lightweight network layer for creating different set of network requests like GET, POST, PUT, DELETE customizable with coders conforming to TopLevelDecoder, TopLevelEncoder

Igor 2 Sep 16, 2022