diff --git a/src/content/docs/code-push/guides/add-to-app/android.mdx b/src/content/docs/code-push/guides/add-to-app/android.mdx
index 28819488..483202fc 100644
--- a/src/content/docs/code-push/guides/add-to-app/android.mdx
+++ b/src/content/docs/code-push/guides/add-to-app/android.mdx
@@ -23,9 +23,9 @@ If your app is a pure Flutter app, follow the
## Prerequisites
-This guide assumes you have already have an Android app and a Flutter module.
-The Android app will be named `android_app` and the Flutter module will be named
-`flutter_module`.
+This guide assumes you already have an Android app and a Flutter module. The
+Android app will be named `AddToAppDemo` (in the sample's `AndroidAddToAppDemo`
+directory) and the Flutter module will be named `my_flutter_module`.
This guide also assumes that you have created a Shorebird account. If you have
not, see the [Code Push guide](/code-push/initialize) for instructions.
diff --git a/src/content/docs/code-push/guides/add-to-app/ios.mdx b/src/content/docs/code-push/guides/add-to-app/ios.mdx
index 16242962..0906dac6 100644
--- a/src/content/docs/code-push/guides/add-to-app/ios.mdx
+++ b/src/content/docs/code-push/guides/add-to-app/ios.mdx
@@ -27,9 +27,9 @@ If your app is a pure Flutter app, follow the
## Prerequisites
-This guide assumes you have already have an iOS app and a Flutter module. The
-example iOS app will be named `IosCodePushDemo` and the example Flutter module
-will be named `flutter_module`.
+This guide assumes you already have an iOS app and a Flutter module. The example
+iOS app will be named `IosAddToAppDemo` and the example Flutter module will be
+named `my_flutter_module`.
This guide also assumes that you have created a Shorebird account. If you have
not created a Shorebird account, please see the
@@ -41,10 +41,12 @@ https://github.com/shorebirdtech/samples/tree/main/add_to_app.
:::note
Shorebird only supports the iOS Framework embedding method of adding Flutter to
-a native iOS app (see "Use iOS frameworks" in the
-[official integration docs](https://docs.flutter.dev/add-to-app/ios/project-setup)).
-There is an open issue to support embedding via CocoaPods
-([link](https://github.com/shorebirdtech/shorebird/issues/1198)), but given that
+a native iOS app (see "Link and Embed frameworks in Xcode" in Flutter's
+[legacy integration docs](https://docs.flutter.dev/add-to-app/ios/project-setup-legacy#method-b)).
+It doesn't support the Swift Package Manager integration that Flutter has
+recommended since Flutter 3.44. There is an open issue to support embedding via
+CocoaPods ([link](https://github.com/shorebirdtech/shorebird/issues/1198)), but
+given that
[Flutter plans to deprecate CocoaPods support](https://github.com/flutter/flutter/issues/168015),
it is unlikely that this will be implemented.
@@ -64,7 +66,7 @@ First, package the Flutter module for release. This will produce an
`.xcframework` that can be embedded in your iOS app and provides Shorebird with
the information it needs to apply patches.
-To create a release, run the following the root directory of your Flutter
+To create a release, run the following in the root directory of your Flutter
module:
```sh
@@ -99,17 +101,17 @@ requires that your Flutter module be embedded in your iOS app as an
:::note
-The steps to do this are the same as the
-[option B in the official instructions](https://docs.flutter.dev/add-to-app/ios/project-setup#option-b---embed-frameworks-in-xcode),
-so in the event of a conflict between the docs here and the official docs, defer
-to the official docs.
+The steps to do this are the same as Flutter's
+[Link and Embed frameworks in Xcode](https://docs.flutter.dev/add-to-app/ios/project-setup-legacy#method-b)
+instructions, so in the event of a conflict between the docs here and the
+official docs, defer to the official docs.
:::
:::note
-`ShorebirdFlutter.xcframework` is nearly identically to `Flutter.xcframework`
-from Google, but as part of compliance with Apple's signing requirements, the
+`ShorebirdFlutter.xcframework` is nearly identical to `Flutter.xcframework` from
+Google, but as part of compliance with Apple's signing requirements, the
framework has been renamed when applying Shorebird's (legally Code Town, Inc's)
digital signature.
@@ -130,10 +132,10 @@ In Xcode:
-### Embed App.xcframework and Flutter.xcframework in your app
+### Embed App.xcframework and ShorebirdFlutter.xcframework in your app
In the "General" tab of your app target, add `App.xcframework` and
-`ShorebirdFlutter.xcframework` from to the "Frameworks, Libraries, and Embedded
+`ShorebirdFlutter.xcframework` to the "Frameworks, Libraries, and Embedded
Content" section. Make sure to select "Embed & Sign" for both frameworks.
diff --git a/src/content/docs/flutter-concepts/add-to-app.mdx b/src/content/docs/flutter-concepts/add-to-app.mdx
index 1a670e64..ec7893c6 100644
--- a/src/content/docs/flutter-concepts/add-to-app.mdx
+++ b/src/content/docs/flutter-concepts/add-to-app.mdx
@@ -306,28 +306,46 @@ different view. An engine can only render into one view at a time.
### 1. Add the module as a dependency
-Since Flutter 3.44, the recommended method is **Swift Package Manager (SPM)**.
-Run the following command in the Flutter module directory to generate an
-XCFramework:
-
-```bash
-flutter build ios-framework --xcframework --output=../MyFlutterPackage
-```
-
-Then add the local package in Xcode: **File > Add Package Dependencies > Add
-Local**, and point to the generated `MyFlutterPackage` directory.
+Since Flutter 3.44, Flutter has recommended adding a module to an iOS app as a
+Swift package with **Swift Package Manager (SPM)**. Its legacy docs also cover
+CocoaPods and prebuilt XCFrameworks linked and embedded in Xcode.
:::caution
Shorebird releases and patches only the XCFrameworks that
`shorebird release ios-framework` builds (`App.xcframework` and
`ShorebirdFlutter.xcframework`), embedded directly in your Xcode project. It
-does not release or patch the Swift package setup above. See the
+does not release or patch a Swift package integration. See the
[Code Push for iOS add-to-app](/code-push/guides/add-to-app/ios/) guide for the
setup Shorebird supports.
:::
+#### Swift package
+
+Run the following command in the Flutter module directory:
+
+```bash
+flutter build swift-package --platform ios
+```
+
+It generates a `FlutterNativeIntegration` Swift package in
+`build/ios/SwiftPackages/`. To add it to your app, follow Flutter's
+[Integrate with Swift Package Manager](https://docs.flutter.dev/add-to-app/ios/project-setup#integrate-with-swiftpm)
+instructions: add the package to your Xcode project with **Add Files to
+"MyApp"...**, add it to your app target, then add the build settings and Run
+Script steps.
+
+#### Prebuilt XCFrameworks (release and patch)
+
+Build the module into XCFrameworks (`flutter build ios-framework`, or
+`shorebird release ios-framework` with Shorebird), then link and embed them in
+your app target. See Flutter's
+[Link and Embed frameworks in Xcode](https://docs.flutter.dev/add-to-app/ios/project-setup-legacy#method-b)
+instructions, or the
+[Code Push for iOS add-to-app](/code-push/guides/add-to-app/ios/) guide for the
+Shorebird setup.
+
### 2. Display Flutter content
#### Full-screen: FlutterViewController