A grab bag of the most common things that go wrong, with short answers. If your issue isn't here or the fix doesn't work, see Send feedback at the bottom.
Camera or photo library access is denied
The capture sheet shows "Camera access is disabled" instead of the viewfinder.
On iPhone, iOS revokes camera or photo library access app-by-app. To re-grant:
- Open iPhone Settings.
- Scroll down to BeforeIBite.
- Tap Camera and turn it on. Do the same for Photos if you also need to pick from the library.
On Android:
- Open Android Settings → Apps → BeforeIBite.
- Tap Permissions.
- Turn on Camera. (Android's photo picker doesn't need a separate Photos permission.)
Restart BeforeIBite and the capture sheet should work again.
Barcode scanner won't detect anything
If the camera is on but the scanner never finds the barcode:
- Move closer. Most barcodes need to fill about a third of the frame.
- Hold steady. Motion blur prevents detection.
- Improve light. Very low light makes the barcode pattern unreadable.
- Try another angle. If the package is curved (drink bottle, soup can), tilt slightly so the barcode is flat to the camera.
If the scanner detects the barcode but you see "Product not found", that's a different issue — see Scan a barcode for packaged food.
If you see "Barcode scanning isn't available on this device," your iPhone model doesn't support Apple's data scanner. Use the nutrition label scanner or type the name instead.
Can't sign in
Sign in with Apple (iOS) — if it fails:
- Check your internet connection. Sign-in needs the network.
- Check Apple ID status. Open Settings → [your name] on your iPhone — make sure you're signed in to your Apple ID at the OS level.
- Restart the app. Force-close BeforeIBite and reopen.
Sign in with Google (iOS and Android) — if it fails:
- Check your internet connection. Sign-in needs the network.
- Check your Google account. On Android, make sure the account is added under Settings → Google → account (or your device's account settings) and that you can reach the web in a browser.
- Update Google Play services on Android if sign-in immediately bounces back.
- Restart the app. Force-close BeforeIBite and reopen.
If you're getting a "Session expired" alert after being signed in successfully before, that just means your authentication token aged out. Sign in again — your data is still there.
"You're offline" when scanning
Photo, barcode, and label scans all need a network connection to reach the AI and food databases. If you see "You're offline":
- Tap "Log Manually" to record what you ate — type in the food and its nutrition yourself. To use AI analysis instead, scan again once you're back online.
- Check airplane mode and Wi-Fi. A common case is a phone connected to a Wi-Fi network with no actual internet (hotel networks before sign-in, captive portals).
A shared meal will not open or save
- Check your connection and sign-in. Opening a meal link needs internet access. Choose Try again after reconnecting.
- The link is unavailable. It may have expired or been removed by its sender. Ask for a fresh link; any copy you already saved stays in your log.
- You already saved it. Find your copy in your meal log. On iPhone, the Shared meals inbox also labels saved meals.
- Split & send is missing on iPhone. Sign in, set at least two diners, and keep your share below 100% so there is a portion left to send.
- Your messaging app is missing. Choose More in the send preview to use other sharing options.
- Android shows a sharing availability message. Choose Open in browser to view the link.
See Split, send, and save shared meals for the full walkthrough and screenshots.
App crashed or froze
If BeforeIBite crashes during a scan or freezes on the analyzing screen:
- Force-close and reopen. On iPhone, swipe up from the bottom and swipe BeforeIBite away. On Android, swipe up from the bottom (or tap Recents) and swipe BeforeIBite away. Then reopen.
- Restart your phone if force-close doesn't help.
- Update the app — open the App Store (iOS) or the Google Play Store (Android) and check for an update.
- Send feedback. On iPhone, shake your phone (works even on the failing screen) to open the feedback form. On Android, open Settings → Feedback in the app. Crash reports also go to us automatically — see What data does BeforeIBite collect?.
Syncing across devices
BeforeIBite currently stores your meals, profile, and goals locally on your device — on both iPhone and Android — so there's no cloud sync to set up or troubleshoot in this release. Your data lives on the phone where you logged it.
If you get a new phone, your meals don't transfer automatically. Your account and profile basics — name, height, weight, and activity level — come back as soon as you sign in on the new device. Review your other profile answers and nutrition targets there, since not every setting transfers.
Daily targets aren't recalculating after I changed my weight
BeforeIBite re-derives your calorie and macro targets automatically when you change your profile — unless you've manually overridden the targets, in which case your overrides win. To force a recalc, open Settings → Daily targets and switch back to Auto mode. See Adjust your calorie and macro goals.
My meal log has duplicates
If you imported the same meals twice or re-logged a meal that synced over from an import, both copies will appear in your log. Open each duplicate and delete the one you don't want — see Edit or correct a logged meal for the delete flow.
Send feedback when something else is wrong
If your issue isn't covered here, the fastest path is to use the in-app feedback form. On iPhone, shake your phone while BeforeIBite is open; on Android, open Settings → Feedback. A feedback sheet appears with your device details pre-filled — just write what went wrong, and tap send. We read every message.
You can also email hello@enchantinglabs.com.
When reporting a bug, what helps most:
- Which screen you were on when it happened.
- What you tapped just before.
- What you expected vs. what actually happened.
- Whether it happens every time or just sometimes.
We don't need a video; a short text description is enough.