Using Ship for apps built with cross-platform frameworks

By default, Ship works with the Android Build, Gradle Runner and the Xcode Archive & Export for iOS Steps. The output of these Steps are automatically exported by the Deploy to Bitrise.io Step to Ship.

However, for apps built with cross-platform frameworks, such as React Native or Flutter, you might not use these Steps in your Workflows. But don’t worry: you can use Steps that are not supported by default to build your app and still deploy it with Ship. All you need to do is make sure the right files end up in the right place.

Publishing iOS apps built with cross-platform frameworks

You can use Ship to publish an Android app built with, for example, Flutter or React Native even if you don't use our Xcode Archive & Export for iOS Step.

The Deploy to Bitrise.io Step looks for an .xcarchive.zip file to export to Ship in the case of an iOS app. If you do not want to use the Xcode Archive & Export for iOS Step, you just need to make sure that:

  • There is a Step in your exposed Workflow that exports an .xcarchive.zip file of your app. That is, the Step you use needs to create an Xcode Archive and needs to package it in a zip file.

  • This Step exports the .xcarchive.zip file into the BITRISE_DEPLOY_DIR directory.

Publishing Android apps built with cross-platform frameworks

You can use Ship to publish an Android app built with, for example, Flutter or React Native even if you don't use our Android Build or Gradle Runner Steps.

The Deploy to Bitrise.io Step looks for an APK or an AAB file in the BITRISE_DEPLOY_DIR directory.

If you do not want to use the Android Build or the Gradle Runner Steps, you just need to make sure that:

  • There is a Step in your exposed Workflow that exports an APK or AAB file of your app.

  • This Step exports the APK or AAB file into the BITRISE_DEPLOY_DIR directory.