Choose your build path
Three ways to build—and success means more than a “build succeeded” message.
Restore the environment using the versions pinned by your project, then handle platform dependencies and signing. Run the commands below from the relevant project directory. Whether the output can be distributed also depends on signing configuration, distribution permissions and platform requirements.
Flutter: create an archive and IPA from your project
Requirements:Use a Flutter SDK version that meets the project requirements. The iOS project, plugin dependencies and Xcode toolchain must be available, and the signing materials must match the app’s bundle identifier.
flutter doctor -v
flutter pub get
flutter build ipa
First, resolve the issues flutter doctor -v reported with the iOS toolchain. If dependency resolution fails, check whether the cause is network access, version constraints or permissions for private packages. Don’t keep retrying the archive command to work around an earlier error.
Expected output:After a successful build, check build/ios/archive for the archive, and build/ios/ipa for the exported files. Exact paths and export behavior depend on your Flutter version and build output.
React Native: archive using the right workspace
Requirements:Use compatible Node and package manager versions with the project’s lockfile. For projects using CocoaPods, install the iOS dependencies and confirm you’re using the right scheme.
node --version
bundle check
cd ios
bundle exec pod install
open .
If there’s a Gemfile, use the Bundler environment specified by the project. Otherwise, install dependencies according to your team’s process. In Xcode, open the generated .xcworkspace, not the project file that’s missing its Pods dependencies.
Expected output:Select the target scheme and the appropriate device archive destination, then choose Product → Archive to create an .xcarchive. In Organizer, export or upload it according to your distribution method.
Unity: the Xcode steps still matter after export
Requirements:Use a Unity Editor version compatible with the project. The iOS module, third-party native plugins and assets must be available, and you’ll need the appropriate Editor license.
xcodebuild -version
xcodebuild -list -project "$EXPORTED_XCODE_PROJECT"
In Unity, switch the build target to iOS and export the Xcode project. Projects using IL2CPP need to compile the generated code natively. Exporting the project doesn’t produce a distributable app by itself.
Expected output:In Xcode, configure signing, dependencies and the target, then archive. Export an IPA or upload it according to your distribution process. If a plugin generated a workspace, open that workspace to continue.
After your first successful build, take reproducibility with you.
Record the commit, Xcode and framework versions, dependency lockfiles, scheme, build commands and artifact paths. Version-control configuration that can be shared; store signing private keys and access tokens separately. The next time you rent a Mac by the day, restore from these notes instead of guessing the setup again.