iOS Installation
Build and install OpenMeal on your iPhone from source using Xcode.
Prerequisites
You'll need:
- A Mac (Xcode only runs on macOS)
- Xcode installed from the Mac App Store
- Node.js 20.x or later
- CocoaPods - install with
sudo gem install cocoapods - An Apple ID (free or paid)
- An iPhone and a USB cable
Signing options
Apps installed via Xcode must be signed with an Apple Developer certificate. You have two options:
| Free Apple ID | Apple Developer Program | |
|---|---|---|
| Cost | $0 | $99/year |
| App validity | 7 days | 1 year |
| Reinstall frequency | Weekly | Yearly |
| Sideloaded app limit | 3 apps | Unlimited |
| Push notifications | Not available | Available |
Both options work fine. If you don't want to pay, just be prepared to re-run the install process every week. Your data persists across reinstalls.
Downloading the source
Clone the repository:
git clone https://github.com/maximilianromer/OpenMeal.git
cd OpenMeal/App\ Source\ Code
Or download as a ZIP from the GitHub repository (click the green "Code" button).
Building the app
Install dependencies
npm install
Generate the iOS project
npx expo prebuild -p ios
This creates an ios/ folder containing the native Xcode project. CocoaPods dependencies will be installed automatically.
cd ios && pod install --repo-update manually.
Open in Xcode
open ios/OpenMeal.xcworkspace
.xcworkspace file, not the .xcodeproj. The workspace includes CocoaPods dependencies.
Configure signing
- In Xcode, go to Xcode → Settings → Accounts
- Click + and sign in with your Apple ID
- Select your account, click Manage Certificates, click +, select Apple Development
- In the project navigator, click OpenMeal (the blue project icon)
- Select the OpenMeal target under TARGETS
- Go to Signing & Capabilities
- Check Automatically manage signing
- Select your Apple ID from the Team dropdown
If you see a bundle identifier error, change it to something unique like com.yourname.openmeal.
Remove Push Notifications (free accounts only)
Apple does not allow push notifications for apps installed with a free Apple ID. If you're using a free account, you must remove this capability or the build will fail. If you have a paid Apple Developer Program membership, skip this step.
- In the project navigator, click OpenMeal (the blue project icon)
- Select the OpenMeal target under TARGETS
- Go to the Signing & Capabilities tab
- Find the Push Notifications capability
- Hover over it and click the X button to remove it
Installing on your device
Enable Developer Mode (iOS 16+)
On your iPhone:
- Connect to your Mac via USB
- Go to Settings → Privacy & Security → Developer Mode
- Enable it and restart when prompted
- After restart, confirm by tapping Turn On
Build and run
- In Xcode's toolbar, select your iPhone from the device dropdown
- Click Run (▶) or press Cmd+R
- Wait for the build to complete and install
Trust the certificate
The first launch will fail with an "Untrusted Developer" error. To fix this:
- On your iPhone, go to Settings → General → VPN & Device Management
- Under "Developer App", tap your Apple ID
- Tap Trust and confirm
Now open the app from your home screen. You're done.
Troubleshooting
Signing errors
Make sure you've selected a Team in Signing & Capabilities and that "Automatically manage signing" is checked. Try changing the bundle identifier to something unique.
CocoaPods issues
sudo gem install cocoapods
cd ios && pod install --repo-update
Device not showing in Xcode
Make sure Developer Mode is enabled and that you trusted your Mac when the prompt appeared on your iPhone.
App stops working after 7 days
This is expected with a free Apple ID. Reconnect your iPhone, open the project in Xcode, and press Run again. Your data is preserved.