Delivery App
Build iOS
Requires a Mac + Xcode and an Apple Developer account.
Steps
- Prepare
cd delivery_app flutter pub get cd ios && pod install && cd .. open ios/Runner.xcworkspace - Signing Xcode → Runner → Signing & Capabilities → set Team + Bundle Identifier (e.g.
com.yourcompany.delivery). - Capabilities Add Push Notifications and Background Modes → Remote notifications (and Location if you use background location).
- Keys Add your
GoogleService-Info.plisttoios/Runner/; set the iOS Maps key inAppDelegate.swiftif the iOS map is used. - Build
flutter build ipa --release --dart-define=API_BASE=https://your-domain.com - Archive & upload via Xcode (Product → Archive → Distribute) or Transporter.
🔐
This app enforces HTTPS (App Transport Security is strict by default) — good for production. For local testing against an HTTP dev server, add a temporary ATS exception in
Info.plist and remove it before release.What each step is really doing
pod installflutter pub get that adds or updates a plugin, or the build will fail with missing headers..xcworkspace, never the .xcodeprojCommon build failures
pod repo update && pod install. If it persists, delete Podfile.lock and Pods/, then pod install again.flutter clean, then flutter pub get, then pod install, then build again.remove_alpha_ios: true — see Change the App Logo.Before you submit to App Review
- Every
NS…UsageDescriptionstring inInfo.plistnames your brand and explains the real reason — vague strings are a common rejection. - Sign In with Apple is offered if you offer Google or Facebook sign-in (Apple requires it).
- Any temporary App Transport Security exception added for local testing has been removed.
- A demo account is supplied in App Store Connect so the reviewer can sign in.
👉
Next: Features.