Set a sensible default framework path (#4370)

This patch sets a default path for Flutter.framework that's sensible based on
the FLUTTER_MODE.
diff --git a/packages/flutter_tools/bin/xcode_backend.sh b/packages/flutter_tools/bin/xcode_backend.sh
index 5c74438..ceb80f7 100755
--- a/packages/flutter_tools/bin/xcode_backend.sh
+++ b/packages/flutter_tools/bin/xcode_backend.sh
@@ -33,7 +33,20 @@
     target_path=${FLUTTER_TARGET}
   fi
 
-  local framework_path="${FLUTTER_ROOT}/bin/cache/artifacts/engine/ios-release"
+  local flutter_mode="release"
+  if [[ -n "$FLUTTER_MODE" ]]; then
+    flutter_mode=${FLUTTER_MODE}
+  fi
+
+  local artifact_variant="unknown"
+  case "$flutter_mode" in
+    release) artifact_variant="ios-release";;
+    profile) artifact_variant="ios-profile";;
+    debug) artifact_variant="ios";;
+    *) echo "Unknown FLUTTER_MODE: $FLUTTER_MODE";;
+  esac
+
+  local framework_path="${FLUTTER_ROOT}/bin/cache/artifacts/engine/${artifact_variant}"
   if [[ -n "$FLUTTER_FRAMEWORK_DIR" ]]; then
     framework_path="${FLUTTER_FRAMEWORK_DIR}"
   fi
@@ -57,11 +70,6 @@
     local_engine_flag="--local-engine=$LOCAL_ENGINE"
   fi
 
-  local flutter_mode="release"
-  if [[ -n "$FLUTTER_MODE" ]]; then
-    flutter_mode=${FLUTTER_MODE}
-  fi
-
   if [[ $CURRENT_ARCH != "x86_64" ]]; then
     local aot_flags=""
     if [[ "$flutter_mode" == "debug" ]]; then