Flutter (9) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [ Flutter / macOS ] Flutter macOS ์ค์น ๋ฐ ์ ํ ํ๊ธฐ. ์๋์ฐ๋ ๋ฆฌ๋ ์ค, ํฌ๋กฌ ๋ฑ์ Flutter ๊ณต์ ํ์ด์ง์ Install์์ ์ฐพ์์ ์ฐธ๊ณ ํ๋ฉด ๋๋ค! https://docs.flutter.dev/get-started/install 1. macOS intel ํ๋ก์ธ์ zip ํ์ผ ๋ค์ด๋ก๋. ๋๋ ๋งฅ์ ์ ๋ผ์ Flutter ๊ณต์ ํ์ด์ง์ macOS install์ ์ฐธ๊ณ ํ๋ค~! macOS install ์ฐธ๊ณ ** ํ์ฌ ์ค์นํ๋ ค๋ macOS ์์ ์ธํ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ๋์ง, Apple Silicon ์ ์ฌ์ฉํ๋์ง ํ์ธํ๊ณ ํด๋น๋๋ ํ๋ก์ธ์์ zip ํ์ผ์ ๋ค์ด๋ฐ๋๋ค. Apple Silicon์ด ํ์ฌ๋ Mac ์ปดํจํฐ ํ์ธ 2. ๋ค์ด๋ฐ์ zip ํ์ผ์ ์๋์ ๋ช ๋ น์ด๋ฅผ ํตํด ์์ถ ํด์ . cd ~/development unzip ~/Downloads/flutter_mac.. [ Flutter ] Image_Picker ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ์ ๋ก๋ ๊ธฐ๋ฅ ๊ตฌํ ๋ฐ ์๋ฒ์ ์ ๋ก๋ ํ๊ธฐ. flutter์์ image_picker ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. ๐ image_picker ํ๋ฌ๊ทธ์ธ ํ์ด์ง image_picker | Flutter Package Flutter plugin for selecting images from the Android and iOS image library, and taking new pictures with the camera. pub.dev image_picker ํ๋ฌ๊ทธ์ธ์ 0.8.1์ด์์ ๋ฒ์ ์ ์ฌ์ฉํ๋ ค๋ฉด iOS 9.0์ด์, Android 4.3 ์ด์ํ์ํ๊ธฐ ๋๋ฌธ์ ์๋น์ค์์ ์ง์ํ๋ iOS, Android ๋ฒ์ ์ ํ์ธ ํ image_picker ํ๋ฌ๊ทธ์ธ์ ๋ฒ์ ์ ๋ง์ถฐ์ฃผ๋ฉด ๋๋ค. * ๋๋ image_picker 0.8.4+11.. [Flutter/Firebase] Firebase auth / account-exists-with-different-credential Flutter ์ฑ์์ Firebase์ Athenticatoin ์ ํตํด ๋ก๊ทธ์ธ์ ๊ตฌํํ๋ค. ( Google / Apple / Twitter ) ๊ทธ๋ฐ๋ฐ, ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. [VERBOSE-2:ui_dart_state.cc(199)] Unhandled Exception: [firebase_auth/account-exists-with-different-credential] An account already exists with the same email address but different sign-in credentials. Sign in using a provider associated with this email address. ์๋ฌ๊ฐ ๋ฐ์ํ ์ํฉ์ 1. Apple๋ก ๋ก๊ทธ์ธ 2. ๋ก๊ทธ์์.. [ Flutter / State ] Flutter์ ์ํ๊ด๋ฆฌ ํ์ด๋ณด๊ธฐ. * Flutter ๊ณต์ ํํ์ด์ง์ State management ๋ฅผ ๊ฐ๋จํ๊ฒ ํด์ & ์ ๋ฆฌ ํ ๊ธ. Flutter UI์ ๊ฐ์ฅ ํฐ ํน์ง์ ๋ค๋ฅธ UI ํ๋ ์์ํฌ์์ ์ฌ์ฉํ๋ ๋ช ๋ นํ ๋ฐฉ์๊ณผ๋ ๋ค๋ฅด๊ฒ ์ ์ธํ UI๋ผ๋ ์ ์ด๋ค. ๋ช ๋ นํ ๋ฐฉ์์ UI ํ๋ก๊ทธ๋๋ฐ์ UI๊ฐ์ฒด๋ฅผ ์ผ์ผ์ด ๊ตฌ์ฑํ๊ณ , ๋์ค์ UI๊ฐ ๋ฐ๋๋ฉด ๋ฉ์๋์ setter๋ค์ ์ด์ฉํ์ฌ ๋ณ๊ฒฝํ๋ ์ฐ๋ฆฌ์๊ฒ ์ต์ํ ๋ฐฉ์์ด๋ค. ์ด์ ๋ฐ๋๋ก Flutter๋ ํ์ฌ์ UI ์ํ๋ง ๋ฌ์ฌํ๊ณ , ๋ณํ๋ ํ๋ ์์ํฌ์ ๋งก๊ธฐ๋๋ก ํ๋ค. ๊ทธ๋์ Flutter์์ UI๋ฅผ ์ด๋ป๊ฒ ๋ค๋ฃจ๋์ง์ ๋ํด ์ฌ๊ณ ์ ํ์ด ํ์ํ๋ค. Flutter์ ์ํ ์๊ฐ. - ์๋ช ์ด ์งง์ ์ํ ( Ephemeral State ) - ์ฑ ์ํ ( App State ) 1. ์๋ช ์ด ์งง์ ์ํ ( Ephemeral.. [ Firebase / Flutter ] Error: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null) ์ค๋ฅ ํด๊ฒฐ๋ฐฉ๋ฒ! ๋์ ์์ด๋งฅ์ผ๋ก flutter App์ Android ๋๋ฒ๊น ์ ์ํ ์ธํ ์ ํ๋ ์ค ๋ง๋ ์ค๋ฅ. ๋์ ๊ฒฝ์ฐ๋, // Mac OS ๊ธฐ์ค!! 1) ์๋๋ก์ด๋ ํฐ์ผ๋ก flutter run - Android phone ์ ์ ํํ์ฌ ๋น๋๊ฐ ์๋ฃ๋๊ณ , 2) ํ๋ฌํฐ ์ฑ์ ๋ฃจํธ ํ์ด์ง์์ Google ์์ ๋ก๊ทธ์ธ์ ํ๋๋ฐ ์ด๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. PlatformException( sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null) !!!!!!! ๋นํฉํ์ฌ ์ผ๋จ ์ข ๋ฃ ํ IOS๋ก ์ฑ์ ๋น๋ํ์ฌ ๋ก๊ทธ์ธ ํ ์คํธ๋ฅผ ํด๋ณด๋ ๋๋ฌด ์๋๋ค...ใ ใ ใ ใ ใ ์ด.. ๋ญ์ง?๐ค ์๋๋ก์ด๋ firebase์ชฝ ์ธํ ์ด ๋ญ๊ฐ ์๋๊ตฌ๋...!! ๋ฅผ ๋๋ผ๊ณ ๊ตฌ.. [ Flutter ] ๊ธธ์ด์ ๋ฐ๋ผ Text ์๋ ์ค๋ฐ๊ฟ / Flexible Text Flutter์์ ์์ ์ค Text๋ฅผ ๋ด๊ฐ ์ ํ Width ๊ธธ์ด ๋ฐ ์ค์ ์ค์ ํ์ฌ ๊ทธ ์ดํ์ ํ ์คํธ๋ค์ ๋ณด์ด์ง ์๊ฒ ํ๋ ๋ฐฉ๋ฒ.๐ฅณ ๋๋ ์์ธ ํ์ด์ง ์ด์ ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ์ด์ง์์ ํ ์คํธ๊ฐ ๋๋ฌด ๊ธธ์ด์ง ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ์ฌ์ฉํ๋ค๐ !! ์์๊ฐ์ด Container์ width๋ฅผ ์ ํด์ฃผ๊ณ , maxLines๋ฅผ ์ ํ๋ฉด, ๋ด๊ฐ ์ ํด๋์ ๊ฐ์ ๋๊ธฐ์ง ์๋๋ค. ์์ฃผ ๊ต์ฅํ ์ ์ฉ์ฐ ํ๋ค.๐ * 10000 Container( width: 150, child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ Flexible( child: RichText( overflow: TextOverflow.ellipsis, maxLines: 5, strutStyle: StrutSt.. [ Flutter / ํธ์ํฐ ๋ก๊ทธ์ธ ] Firebase๋ฅผ ์ด์ฉํ Twitter ๋ก๊ทธ์ธ ๊ตฌํ ํ์ฌ์์ ํ๋ฌํฐ ์ฑ์ ๋ง๋ค๋ฉด์ ์ง๊ธ์ ์์ ๋ก๊ทธ์ธ์ ๊ตฌํํ๊ณ ์๋ ์ค ๐ฅ ๊ตฌ๊ธ, ์นด์นด์คํก, ์ ํ๊น์ง ๊ตฌํํด๋จ๊ณ ๋ง์ง๋ง ๋จ์ ํธ์ํฐ! (์ฐ๋ฆฌ ์ฑ์ ํน์ฑ์ ํธ์ํฐ ์ฌ์ฉ์๋ค์ด ์ฃผ ํ๊ฒ์ธต์ด๋ผ๊ณ ์์์ค) ํธ์ํฐ๋ ๋คํํ๋ firebase ์์ ๋ก๊ทธ์ธ์ ์ ๊ณตํ๋ค. ๊ทธ๋์ ๊ต์ฅํ ์ฝ๊ฒ ๋ก๊ทธ์ธ ๊ตฌํ์ด ๊ฐ๋ฅํ ๊ฒ ๊ฐ๋ค๊ณ ์์ํ์ง๋ง( ์~์๋์ผ๐), ์ด์ ์๋์ ๊ฐ์ ์ค๋ฅ ๋ฉ์ธ์ง์ ํจ๊ป ํธ์ํฐ ๋ก๊ทธ์ธ ๊ตฌํ์ ์คํจํ๋ค.ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ์ด์ ๊ฐ ๋ญ๊น.. ๊ตฌ๊ธ๋ง์ ํด๋ด๋ ๋น์ทํ ๋ฌธ์ ๋ฅผ ๊ฒช๋ ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ ์ง๋ฌธ๋ค ๋ฟ.. ์ด ๋ฌธ์ ์ ํด๊ฒฐ์ฑ ์ ์ ์ํด์ฃผ๋ ๊ธ์ ์ฐพ์ ์ ์์๋ค ....!!! ๐ฅณํ์ง๋ง ์ง๊ธ์ ๋ฌธ์ ํด๊ฒฐ.๐ FlutterFire์ Authentication - Twitter ์ ์๋ด๋ฅผ ๋ฐ๋ผ ์ฐจ๊ทผ ์ฐจ๊ทผ ๊ตฌ.. [ Flutter / ์ ํ ๋ก๊ทธ์ธ ] Firebase๋ฅผ ์ด์ฉํ SignIn With Apple ๊ตฌํ Flutter ์์ ๋ก๊ทธ์ธ์ ๊ฐ๋ฐ์ค์ธ๋ฐ, ๋ฃ๊ธฐ๋ก ( WEB / Android / ios 13๋ฒ์ ์ดํ ์ง์์ ๊ฒฝ์ฐ )Apple ๋ก๊ทธ์ธ์ด ๋์ด๋ ํฌ์ด๋ผ๋ ์ด์ผ๊ธฐ๋ฅผ ๋ค์๋ค..๐ฑ ํ์ง๋ง ๋๋ ios 13 ์ด์ ์ง์์ ios Apple ๋ก๊ทธ์ธ๋ง ์ง์ํ๊ธฐ ๋๋ฌธ์ ๊ต์ฅํ ๊ฐ๋จํ๊ฒ ๊ตฌํํ ์ ์์๋ค!๐ ์ด์ ์ฐจ๊ทผ ์ฐจ๊ทผ ์ ํ ๋ก๊ทธ์ธ์ ๋ํด ๋ฟ์ ๋ณด๋๋ก ํ๊ฒ ๋ค..! ๐ฅ ์ค๋นํ๊ธฐ ๐ ios 13.0 ์ด์์ ์ ํ ๋ก๊ทธ์ธ๋ง ์ง์ํ ๊ฒฝ์ฐ - Firebase์ ios ํ๋ก์ ํธ๊ฐ ์์ฑ๋ผ ์์ด์ผ ํ๋ค. - ์ ํ ๊ฐ๋ฐ์ ํ๋ก๊ทธ๋จ์ ์ ๋ฃ ํ์์ผ๋ก ๊ฐ์ ๋ผ ์์ด์ผ ํ๋ค. ๐จ ios 13.0 ์ดํ ๋ฒ์ ๋ฐ web, Android ์ ํ ๋ก๊ทธ์ธ์ ์ง์ ํ ๊ฒฝ์ฐ - Firebase์ ios ํ๋ก์ ํธ๊ฐ ์์ฑ๋ผ ์์ด์ผ ํ๋ค. - ์ ํ ๊ฐ๋ฐ์ ํ๋ก๊ทธ๋จ์.. ์ด์ 1 2 ๋ค์