In order to start pushing updates, you will need to create a release.
Creating a release builds and submits your app to Shorebird. Shorebird saves the
compiled Dart code from your application in order to make updates smaller in
size.
Create an Android release by running the following command:
shorebird release android
Example output:
If your application supports flavors or multiple release targets, you can specify the flavor and target using the --flavor and --target options:
By default, shorebird release android builds an AppBundle (.aab).
If you would like to also generate an Android Package Kit (.apk), use the
following command:
To release with a different Flutter version, you can specify the version using the --flutter-version flag.
Create an iOS release by running the following command:
shorebird release ios
Example output:
If your application supports flavors or multiple release targets, you can specify the flavor and target using the --flavor and --target options:
To release with a different Flutter version, you can specify the version using the --flutter-version flag.
Signing issues
Depending on how you normally sign your iOS app, you may see an error at the end
of the build saying something like: Runner.app requires a provisioning profile with ___ feature or that no signing certificate was found. This can be
addressed in a few ways:
Setting up automatic signing in Xcode
If you are releasing on your local machine (i.e., not in a CI environment), this
option is easier than the following options, but does not always work well in CI
environments.
In Xcode, open your project and navigate to the βSigning & Capabilitiesβ tab.
Ensure that βAutomatically manage signingβ is checked.
Create an ExportOptions.plist file.
You may need to provide an ExportOptions.plist file to the shorebird release ios command. This file is used by Xcode to determine which certificate and
provisioning profile should be used to sign the .ipa. An example of this file
is:
To use this file, pass it to the shorebird release ios command:
Create a macOS release by running the following command:
shorebird release macos
Example output:
If your application supports flavors or multiple release targets, you can specify the flavor and target using the --flavor and --target options:
To release with a different Flutter version, you can specify the version using the --flutter-version flag.
Manage Releases
List Releases
You can view all of your releases for your current app (as defined by
your shorebird.yaml) on the Shorebird console.
Delete Releases
Deleting a release will remove all associated patches and artifacts
and is not reversible.
You can delete a release for your current app (as defined by your
shorebird.yaml) on the Shorebird console.
Side-loading and MDM
A common question we get asked is: Does Shorebird require publishing to the
App Store or Play Store?
No. Shorebird works fine with side-loading and mobile device management (MDM)
on Android. Weβve not had anyone try Shorebird with iOS Developer Enterprise
program, but we expect it to work just as well.
To build Shorebird for distribution via APK (e.g. side-loading), use the
--artifact flag with the shorebird release command. For example:
That will produce both .apk and .aab files. You can distribute either
or both as needed.