diff --git a/firebase.json b/firebase.json index 98162bf6fa..4fd2332c71 100644 --- a/firebase.json +++ b/firebase.json @@ -755,6 +755,7 @@ { "source": "/to/integration-testing", "destination": "/cookbook/testing/integration/introduction", "type": 301 }, { "source": "/to/intellij-setup", "destination": "/tools/android-studio#setup", "type": 301 }, { "source": "/to/internationalization", "destination": "/ui/accessibility-and-internationalization/internationalization", "type": 301 }, + { "source": "/to/ios-add-to-app-embed-setup", "destination": "/add-to-app/ios/project-setup#embed-a-flutter-module-in-your-ios-app", "type": 301 }, { "source": "/to/ios-app-signing", "destination": "/deployment/ios#review-xcode-project-settings", "type": 301 }, { "source": "/to/ios-create-flutter-engine", "destination": "/add-to-app/ios/add-flutter-screen#create-a-flutterengine", "type": 301 }, { "source": "/to/ios-deploy", "destination": "/deployment/ios", "type": 301 }, diff --git a/src/_includes/docs/add-to-app/ios-project/embed-cocoapods.md b/src/_includes/docs/add-to-app/ios-project/embed-cocoapods.md index c674a9dd8d..fe9941217f 100644 --- a/src/_includes/docs/add-to-app/ios-project/embed-cocoapods.md +++ b/src/_includes/docs/add-to-app/ios-project/embed-cocoapods.md @@ -139,6 +139,48 @@ into your iOS app, complete the following procedure. 1. Select **Product** > **Build** or press Cmd + B. +#### Set LLDB Init File + +:::warning +Set your scheme to use Flutter's LLDB Init File. Without this file, debugging +on an iOS 26 or later device may crash. +::: + +1. Generate Flutter LLDB files. + + 1. Within your flutter application, run the following: + + ```console + flutter build ios --config-only + ``` + + This will generate the LLDB files in the `.ios/Flutter/ephemeral` directory. + +1. Set the LLDB Init File. + + 1. Go to **Product > Scheme > Edit Scheme**. + + 1. Select the **Run** section in the left side bar. + + 1. Set the **LLDB Init File** using the same relative path to your Flutter + application as you put in your Podfile in the **Update your Podfile** + section. + + ```console + $(SRCROOT)/../my_flutter/.ios/Flutter/ephemeral/flutter_lldbinit + ``` + + If your scheme already has an **LLDB Init File**, you can add Flutter's + LLDB file to it. The path to Flutter's LLDB Init File must be relative + to the location of your project's LLDB Init File. + + For example, if your LLDB file is located at `/path/to/MyApp/.lldbinit`, + you would add the following: + + ```console + command source --relative-to-command-file "../my_flutter/.ios/Flutter/ephemeral/flutter_lldbinit" + ``` + [build-modes]: /testing/build-modes [CocoaPods getting started guide]: https://guides.cocoapods.org/using/using-cocoapods.html [Podfile target]: https://guides.cocoapods.org/syntax/podfile.html#target diff --git a/src/_includes/docs/add-to-app/ios-project/link-and-embed.md b/src/_includes/docs/add-to-app/ios-project/link-and-embed.md index 69f206ff4b..445c411daa 100644 --- a/src/_includes/docs/add-to-app/ios-project/link-and-embed.md +++ b/src/_includes/docs/add-to-app/ios-project/link-and-embed.md @@ -156,5 +156,46 @@ To embed your dynamic frameworks, complete the following procedure. 1. Select **Product** > **Build** or press Cmd + B. +#### Set LLDB Init File + +:::warning +Set your scheme to use Flutter's LLDB Init File. Without this file, debugging +on an iOS 26 or later device may crash. +::: + +1. Generate Flutter LLDB files. + + 1. Within your flutter application, re-run `flutter build ios-framework` if + you haven't already: + + ```console + $ flutter build ios-framework --output=/path/to/MyApp/Flutter/ + ``` + + This will generate the LLDB files in the `/path/to/MyApp/Flutter/` directory. + +1. Set the LLDB Init File. + + 1. Go to **Product > Scheme > Edit Scheme**. + + 1. Select the **Run** section in the left side bar. + + 1. Set the **LLDB Init File** to the following: + + ```console + $(PROJECT_DIR)/Flutter/flutter_lldbinit + ``` + + If your scheme already has an **LLDB Init File**, you can add Flutter's + LLDB file to it. The path to Flutter's LLDB Init File must be relative + to the location of your project's LLDB Init File. + + For example, if your LLDB file is located at `/path/to/MyApp/.lldbinit`, + you would add the following: + + ```console + command source --relative-to-command-file "Flutter/flutter_lldbinit" + ``` + [static or dynamic frameworks]: https://stackoverflow.com/questions/32591878/ios-is-it-a-static-or-a-dynamic-framework [static-framework]: https://developer.apple.com/library/archive/technotes/tn2435/_index.html