#!/usr/bin/env bash set -xeu set -o pipefail export LANG=en_US.UTF-8 LANG=en_US.UTF-8 function finish() { ditto -c -k --sequesterRsrc --keepParent "${RESULT_BUNDLE_PATH}" "${RESULT_BUNDLE_PATH}.zip" rm -rf "${RESULT_BUNDLE_PATH}" } trap finish EXIT SDK="iphoneos" WORKSPACE="ios/Runner.xcworkspace" SCHEME="Runner" CONFIGURATION="Release" BUILD_DIR="build" ARTIFACT_PATH="${BUILD_DIR}/Artifacts" RESULT_BUNDLE_PATH="${ARTIFACT_PATH}/${SCHEME}.xcresult" ARCHIVE_PATH="${BUILD_DIR}/Archives/${SCHEME}.xcarchive" DERIVED_DATA_PATH="${BUILD_DIR}/DerivedData" CURRENT_PROJECT_VERSION="1.0.0" EXPORT_OPTIONS_FILE="Support/ExportOptions.plist" flutter clean flutter pub get cd ios rm -rf Pods Podfile.lock pod deintegrate pod install --repo-update pod update cd .. rm -rf "${RESULT_BUNDLE_PATH}" rm -rf "${DERIVED_DATA_PATH}" xcrun xcodebuild \ -workspace "${WORKSPACE}" \ -scheme "${SCHEME}" \ -configuration "${CONFIGURATION}" \ -sdk "${SDK}" \ -parallelizeTargets \ -showBuildTimingSummary \ -disableAutomaticPackageResolution \ -derivedDataPath "${DERIVED_DATA_PATH}" \ -archivePath "${ARCHIVE_PATH}" \ -resultBundlePath "${RESULT_BUNDLE_PATH}" \ -allowProvisioningUpdates \ -authenticationKeyPath ~/Library/MobileDevice/Provisioning\ Profiles \ archive xcrun xcodebuild \ -exportArchive \ -exportOptionsPlist "${EXPORT_OPTIONS_FILE}" \ -archivePath "${ARCHIVE_PATH}" \ -exportPath "${ARTIFACT_PATH}/${SCHEME}.ipa" ditto -c -k --sequesterRsrc --keepParent "${ARCHIVE_PATH}" "${ARTIFACT_PATH}/${SCHEME}.xcarchive.zip"