[Flutter] ํ๋ฌํฐ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ for macOS
Android Studio
โถ Android Studio ์ค์น (JetBrains ToolBox๋ก๋ ์ค์น ๊ฐ๋ฅ)
brew install android-studio
โท Android Studio ์คํ - Setup Wizard - Install Type์์ Standard ์ ํ ํ ์ค์น. Standard ์ ํ ์ ์๋๋ก์ด๋ ๊ฐ๋ฐ์ ํ์ํ SDK, ๋น๋ ํด, ์๋ฎฌ๋ ์ดํฐ๊ฐ ์๋์ผ๋ก ์ค์น๋๋ค. Setup Wizard๋ Android Studio๋ฅผ ์ฒ์ ์คํํ์ ๋ ๋์จ๋ค.
โธ Settings(โ
,
) - Android SDK ๋ฉ๋ด - SDK Tools ํญ - Android SDK Command-line Tools ์ฒดํฌ.
โน Flutter, Dart ํ๋ฌ๊ทธ์ธ ์ค์น
Flutter / Dart SDK
๐ก Flutter SDK๋ฅผ ์ค์นํ๋ฉด Dart SDK๋ ๊ฐ์ด ์ค์น๋๋ค.
brew install flutter
- Flutter SDK ์ค์น ๊ฒฝ๋ก :
/opt/homebrew/Caskroom/flutter/<๋ฒ์ >/flutter
- Dart SDK ์ค์น ๊ฒฝ๋ก :
<Flutter SDK ์ค์น ๊ฒฝ๋ก>/bin/cache/dart-sdk
flutter doctor -v
๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด Flutter SDK ์ค์น ๊ฒฝ๋ก๋ฅผ ํ์ธํ ์ ์๋ค.
๊ฐ๋ฐ ๊ตฌ์ฑ
iOS
โถ CocoaPods ์ค์น (iOS ํ๋ก์ ํธ ์์กด์ฑ ๊ด๋ฆฌ ๋๊ตฌ)
brew install cocoapods
โท xCode ์ค์น (์ฑ์คํ ์ด xCode ๊ฒ์ ํ ์ง์ ์ค์นํ ์๋ ์๋ค)
# ๋งฅ ์ฑ์คํ ์ด CLI ๋๊ตฌ mas ์ค์น
brew install mas
# mas๋ฅผ ์ด์ฉํด์ xCode ์ค์น
# 497... ์ซ์๋ ์ฑ์คํ ์ด ์ ํ๋ฆฌ์ผ์ด์
ID
mas install 497799835
โธ xCode ๋ช ๋ น์ค ๋๊ตฌ(command-line tools) ๊ตฌ์ฑ
sudo sh -c 'xcode-select -s /Applications/Xcode.app/Contents/Developer && xcodebuild -runFirstLaunch'
โน xCode ๋ผ์ด์ ์ค ๋์
sudo xcodebuild -license
โบ (์ค์น๋์ด ์์ง ์๋ค๋ฉด) iOS ์๋ฎฌ๋ ์ดํฐ ์ค์น
xcodebuild -downloadPlatform iOS
โป (์ ํ ์ค๋ฆฌ์ฝ ๋งฅ ์ฌ์ฉ์๊ฐ ์ธํ ๊ธฐ๋ฐ ์ฑ ๊ฐ๋ฐ ์) Rosetta 2 ์ค์น
sudo softwareupdate --install-rosetta --agree-to-license
Android
์๋๋ก์ด๋ ๊ฐ๋ฐ์ ์๋ ์ปดํฌ๋ํธ๊ฐ ํ์ํ๋ค. ์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์คํํ๊ณ Setup Wizard์์ Standard๋ฅผ ์ ํํ๋ค๋ฉด ์๋์ผ๋ก ์ค์น๋๋ค.
- Android SDK Platform, API
- Android SDK Command-line Tools
- Android SDK Build-Tools
- Android SDK Platform-Tools
- Android Emulator
๋ง์ฝ ์ค์นํ์ง ์์ ํญ๋ชฉ์ด ์๋ค๋ฉด ์๋๋ก์ด๋ ์คํ๋์ค Settings(โ
,
) - Android SDK ๋ฉ๋ด์์ ํ์ํ ํญ๋ชฉ์ ์ฒดํฌํ ๋ค ์ ์ฅํ๋ฉด ์๋์ผ๋ก ์ค์น๋๋ค.
๊ธฐํ ์ค์
โถ ์๋๋ก์ด๋ ๋ผ์ด์ ์ค ๋์
flutter doctor --android-licenses
# ์ฝ๊ด ๋์ค๋ฉด y ์
๋ ฅํด์ ๋์(์ฌ๋ฌ๋ฒ ๋์ด)
โท Dart, Flutter ์ ๋๋ฆฌํฑ์ค ๋ฆฌํฌํธ(Telemetry) ๋นํ์ฑ
flutter --disable-analytics
dart --disable-analytics
โธ Flutter ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ ์๋๋์ง ํ์ธ
flutter doctor
# Doctor summary (to see all details, run flutter doctor -v):
# [โ] Flutter (Channel stable, 3.24.1, on macOS 14.6.1 23G93 darwin-arm64, locale ko-KR)
# [โ] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
# [โ] Xcode - develop for iOS and macOS (Xcode 15.4)
# [โ] Chrome - develop for the web
# [โ] Android Studio (version 2024.1)
# [โ] VS Code (version 1.92.2)
# [โ] Connected device (3 available)
# [โ] Network resources
์๋ฎฌ๋ ์ดํฐ ๊ธฐ๊ธฐ ์ถ๊ฐ
Android
โถ Android Studio ์คํ - ์ฐ์ธก ์๋จ ์ธ๋ก ...
๋ฒํผ ํด๋ฆญ - Virtual Device Manager ํด๋ฆญ
โท ์ข์ธก ์๋จ +
Create Virtual Device ๋ฒํผ ํด๋ฆญ. (๊ธฐ์กด ์ถ๊ฐํ ๊ธฐ๊ธฐ์ โถ๏ธ ๋ฒํผ์ ํด๋ฆญํ๋ฉด AVD๊ฐ ์์๋๋ค)
โธ ํ๋์จ์ด ์ ํ - ์์คํ ์ด๋ฏธ์ง ์ ํ - AVD name ์ง์ ํ ์์ฑ
โน ๋น๋ ๋ฐ ์คํ
Android Studio ์ฐ์ธก ๋ฉ๋ด๋ฐ - Device Manager ํด๋ฆญ - โถ๏ธ ๋ฒํผ ํด๋ฆญ - (AVD ์คํ) - Run main.dart ๋ฒํผ์ ํด๋ฆญํ๋ฉด IDE ์ฐ์ธก์ ๊ธฐ๊ธฐ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ๊ฐ ํ์๋๋ค. Flutter์ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ Hot Reload๋ฅผ ์ง์ํ๋ฏ๋ก ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ๋ก ํ์ธํ ์ ์๋ค.
โบ CLI ๋ช ๋ น์ด
# ์ถ๊ฐํ AVD ๋ฆฌ์คํธ ํ์ธ
~/Library/Android/sdk/emulator/emulator -list-avds
# ์
๋ ฅํ AVD Name ์คํ
~/Library/Android/sdk/emulator/emulator -avd <avd-name>
emulator
๊ฒฝ๋ก๋ฅผ ๋ชจ๋ ์
๋ ฅํ๊ธฐ ๋ฒ๊ฑฐ๋ก์ฐ๋ฉด ์๋ Path๋ฅผ ~/.zshrc
ํ์ผ์ ์ถ๊ฐํ๋ค.
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
# ์ถ๊ฐ ํ ์๋ ๋ช
๋ น์ด๋ก ์คํ ๊ฐ๋ฅ
emulator -list-avds
emulator -avd <avd-name>
iOS
โถ Simulator.app ์ฑ์ ์คํํ๋ฉด ์ด์ ์ ์ ํํ๋ ๊ธฐ๊ธฐ๋ก ์๋ ์คํ๋๋ค. ๊ธฐ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ์ผ๋ฉด ์ผ์ชฝ ์๋จ ๋ฉ๋ด๋ฐ File - Open Simulator ํด๋ฆญ ํ ์ํ๋ ๊ธฐ๊ธฐ๋ฅผ ์ ํํ๋ค.
โท iOS ๋ฒ์ ์ ๋ฐ๊พธ๊ณ ์ถ์ผ๋ฉด xCode ์คํ - Preference(โ
,
) - Platforms ํญ - ์ข์ธก ํ๋จ +
๋ฒํผ ํด๋ฆญ - iOS ์ ํ ํ ์ํ๋ ๋ฒ์ ์ ์ค์นํ ์ ์๋ค.
โธ ๋น๋ ๋ฐ ์คํ
Android Studio ์ฐ์ธก ์๋จ ๊ธฐ๊ธฐ ์ ํ ๋ฒํผ - Open iOS Simulator ํด๋ฆญ - (iOS ์๋ฎฌ๋ ์ดํฐ ์คํ) - Run main.dart ๋ฒํผ์ ํด๋ฆญํ๋ฉด iOS ์๋ฎฌ๋ ์ดํฐ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋น๋๋๊ณ ์คํ๋๋ค. ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ํตํด์ ์ฆ์ ํ์ธํ ์ ์๋ค.
โน CLI ๋ช ๋ น์ด
# ์๋ฎฌ๋ ์ดํฐ์ ์ค์น๋ ๋ชจ๋ ๊ธฐ๊ธฐ ๋ฆฌ์คํธ ํ์ธ
xcrun simctl list devices
# ํน์ ์๋ฎฌ๋ ์ดํฐ ์คํ
xcrun simctl boot <device-udid>
# ์๋ฎฌ๋ ์ดํฐ ์ฑ ์คํ
open -a Simulator
# ์คํ์ค์ธ ๋ชจ๋ ์๋ฎฌ๋ ์ดํฐ ์ข
๋ฃ
xcrun simctl shutdown all
DartPad
DartPad ์ฌ์ดํธ์์ ์ง์ ํ๋ฌํฐ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์คํํด ๋ณผ ์ ์๋ค. ์๋จ Samples ๋ฉ๋ด๋ฅผ ํด๋ฆญํ ๋ค ๋ฏธ๋ฆฌ ์ ์๋์ด ์๋ ํ๋ฌํฐ ํ ํ๋ฆฟ์ ์ ํํ ์ ์๋ค.
๊ธ ์์ ์ฌํญ์ ๋ ธ์ ํ์ด์ง์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๋ฐ์๋ฉ๋๋ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TS] ํ์ ์คํฌ๋ฆฝํธ ๋ธ๋๋๋ ํ์ (1) | 2024.09.26 |
---|---|
๋์ปค(Docker)์ ์ฟ ๋ฒ๋คํฐ์ค(Kubernetes) ๊ธฐ๋ณธ ๊ฐ๋ (0) | 2024.09.17 |
[Dart] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์์ ๋คํธ ํ์ต - Part 2 (1) | 2024.08.21 |
[Dart] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์์ ๋คํธ ํ์ต - Part 1 (0) | 2024.08.21 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค - ํผ๋ก๋ / ๋ฐฑํธ๋ํน์ผ๋ก ๋ชจ๋ ๋ถ๋ถ์งํฉ ์ฐพ๊ธฐ (0) | 2024.07.29 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[TS] ํ์ ์คํฌ๋ฆฝํธ ๋ธ๋๋๋ ํ์
[TS] ํ์ ์คํฌ๋ฆฝํธ ๋ธ๋๋๋ ํ์
2024.09.26 -
๋์ปค(Docker)์ ์ฟ ๋ฒ๋คํฐ์ค(Kubernetes) ๊ธฐ๋ณธ ๊ฐ๋
๋์ปค(Docker)์ ์ฟ ๋ฒ๋คํฐ์ค(Kubernetes) ๊ธฐ๋ณธ ๊ฐ๋
2024.09.17 -
[Dart] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์์ ๋คํธ ํ์ต - Part 2
[Dart] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์์ ๋คํธ ํ์ต - Part 2
2024.08.21 -
[Dart] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์์ ๋คํธ ํ์ต - Part 1
[Dart] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์์ ๋คํธ ํ์ต - Part 1
2024.08.21