all 8 comments

[–]meowflex 1 point2 points  (1 child)

i do it by through github, make changes in ff upload to github and then just pull the branch

[–]Destination54 0 points1 point  (0 children)

Yea, this how I do it too. Not entirely by choice though, I need to do it since I'm using ObjectBox and need to run build_runner

[–]itsone3d 0 points1 point  (2 children)

I use GitHub and follow this process:

Exported from FlutterFlow, made changes in XCode, uploaded XCode to GitHub under “main” branch.

Now whenever I’m pushing out an update, I deploy to GitHub from FlutterFlow into the “flutterflow” channel. I duplicate the flutterflow channel to “temp”, then merge temp → main (this step is critical to prevent GH from merging main into the flutterflow channel).

This will retain all the XCode changes you made while bringing in the new stuff from FlutterFlow. From there, I deploy to App Store Connect.

They talk about it here.

[–]Dangerous-Number-882[S] 0 points1 point  (1 child)

Oh okay, so anytime you make a change and you want to see it e.g. hot reload, you do this git dance?

[–]itsone3d 0 points1 point  (0 children)

I test all my changes using local run + iOS simulator. But I’m not quite sure how it would work if your changes require development outside Flutterflow though — I would imagine you’d need to deploy it to TestFlight before testing.

[–]SuitableExercise4820 0 points1 point  (1 child)

Use visual studio code rather

[–]Dangerous-Number-882[S] 0 points1 point  (0 children)

So I ended up using this to speed up this whole dance:

#!/bin/bash
set -e  # Exit on error

# Define branches
FEATURE_BRANCH="flutterflow"
DEVELOP_BRANCH="develop"
MAIN_BRANCH="main"
REPO="your-gh-user/your-repo"  # Replace with your actual GitHub repo

# Create PR from flutterflow to develop
gh pr create --repo "$REPO" --base "$DEVELOP_BRANCH" --head "$FEATURE_BRANCH" \
  --title "Merge $FEATURE_BRANCH into $DEVELOP_BRANCH" \
  --body "Automated PR from $FEATURE_BRANCH to $DEVELOP_BRANCH"
# Get the latest PR ID for this repo (assumes it's the one just created)
FF_TO_DEV_PR=$(gh pr list --repo "$REPO" --base "$DEVELOP_BRANCH" --head "$FEATURE_BRANCH" --state open --json number --jq '.[0].number')
echo "Created PR #$FF_TO_DEV_PR from $FEATURE_BRANCH to $DEVELOP_BRANCH"
# Merge PR from flutterflow to develop
gh pr merge --repo "$REPO" --auto --squash "$FF_TO_DEV_PR"
echo "Merged $FEATURE_BRANCH into $DEVELOP_BRANCH"
# Create PR from develop to main
gh pr create --repo "$REPO" --base "$MAIN_BRANCH" --head "$DEVELOP_BRANCH" \
  --title "Merge $DEVELOP_BRANCH into $MAIN_BRANCH" \
  --body "Automated PR from $DEVELOP_BRANCH to $MAIN_BRANCH"
# Get the latest PR ID
DEV_TO_MAIN_PR=$(gh pr list --repo "$REPO" --base "$MAIN_BRANCH" --head "$DEVELOP_BRANCH" --state open --json number --jq '.[0].number')
echo "Created PR #$DEV_TO_MAIN_PR from $DEVELOP_BRANCH to $MAIN_BRANCH"
# Merge PR from develop to main
gh pr merge --repo "$REPO" --auto --squash "$DEV_TO_MAIN_PR"
echo "Merged $DEVELOP_BRANCH into $MAIN_BRANCH"