본문으로 건너뛰기

Flutter iOS 빌드

Flutter SDK를 잡 안에서 받아 iOS 시뮬레이터용 앱을 빌드하고 테스트합니다

러너 VM에는 Flutter가 미리 깔려 있지 않습니다, 스크립트가 stable 채널을 얕게 받아 flutter test와 flutter build ios를 돌립니다, 저장소의 Flutter 워크플로 템플릿이 쓰는 단계와 같습니다

참고 이 사례는 템플릿 기준입니다, XenoCI VM에서 Flutter 빌드를 끝까지 돌린 실측 기록은 아직 저장소에 없습니다, 처음 돌릴 때는 SDK 내려받기 시간을 감안해 --timeout을 넉넉히 두세요

빌드 스크립트

#!/bin/bash
set -euo pipefail

git clone https://github.com/flutter/flutter.git -b stable --depth 1 "$HOME/flutter"
export PATH="$HOME/flutter/bin:$PATH"
flutter --version

flutter pub get
flutter test
flutter build ios --simulator --debug --no-codesign

mkdir -p ci-output
ditto -c -k --keepParent build/ios/iphonesimulator/Runner.app ci-output/Runner.app.zip

실행

xenocast build --script ./ci.sh --xcode 27.0 --timeout 45 --artifacts 'ci-output/*.zip'

Flutter 버전을 고정하려면 -b stable 대신 태그를 씁니다(-b 3.x.y), pubspec.lock을 커밋하면 pub get이 같은 버전을 받습니다

CocoaPods 플러그인이 있을 때

ios/Podfile이 있는 프로젝트는 flutter build ios가 pod install을 함께 돌립니다, VM에 Ruby와 CocoaPods가 있으니 따로 설치하지 않아도 됩니다, Podfile.lock을 커밋해 두세요

기기용 빌드

--no-codesign 없이 기기용 .ipa를 만들려면 인증서와 프로비저닝 프로파일을 API 제출의 env 필드로 넘기고 스크립트에서 임시 키체인에 넣어야 합니다, Swift 네이티브 iOS 빌드의 서명 절을 보세요

다음 단계