bloomBUILD•SHIP•BLOOM
.md
Zero Native Boilerplate

Prebuild & Native Sync

Stop manually editing AndroidManifest.xml and Info.plist across Xcode and Gradle. Bloom's Prebuild Engine configures native permissions, deep link schemes, and flavors from a single declarative bloom.yaml.

Declarative bloom.yaml

Define native configuration in the root configuration file:

bloom.yaml
yaml
# bloom.yaml
name: my_app
version: 1.0.0+1

native:
  app_id: com.bloom.myapp
  display_name: "Bloom App"
  
  permissions:
    camera: "Used for profile picture uploads"
    location_when_in_use: "Used for map discovery"
    notifications: true

  deep_links:
    schemes: ["bloomapp"]
    hosts: ["app.bloom.dev"]

  flavors:
    dev:
      app_id_suffix: ".dev"
      display_name: "Bloom (Dev)"
    prod:
      app_id_suffix: ""
      display_name: "Bloom"

Prebuild Engine

Run bloom prebuild to synchronize the native projects idempotently:

Terminal
bash
bloom prebuild

Native Target Manifests

iOSios/Runner/Info.plist

Syncs NSCameraUsageDescription, NSLocationWhenInUseUsageDescription, URL Types, and Associated Domains.

Androidandroid/app/src/main/AndroidManifest.xml

Injects <uses-permission>, <intent-filter> for deep links, and package application ID overrides.

macOSmacos/Runner/Release.entitlements

Syncs network server and camera sandbox capabilities automatically.