FLUTTER (5) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [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.. [ 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๋ฅผ ์ด์ฉํ 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 ํ๋ก์ ํธ๊ฐ ์์ฑ๋ผ ์์ด์ผ ํ๋ค. - ์ ํ ๊ฐ๋ฐ์ ํ๋ก๊ทธ๋จ์.. [ Flutter ]flutter์์ setTimeout๊ณผ ๊ฐ์ ํ์ด๋จธ ์ค์ ํ๊ธฐ. web API ์ค ํ๋์ธ setTimeout() method ์ ๊ฐ์ ์ญํ ์ ํ๋ dart์ method๋ ๋ฌด์์ผ๊น? ๐ค ๋๋ Flutter ๊ณต์ ํ์ด์ง์ ๋์์๋ dart:async > Timer class ๋ฅผ ์ด์ฉํ๋ค. Timer Class๋ Null safety๊ฐ ์ง์๋๋ ์ถ์ ํด๋์ค ์ด๋ค. ๊ณต์ํ์ด์ง์ ์๋ ๊ธ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ ๋์ ๊ฐ๋จํ ์ฝ๋. Timer(Duration(seconds: 3), () { Get.to(AddressListPage()); }); ์คํ ๊ฒฐ๊ณผ๋ 3์ด ํ GetX ์ Get.to()๋ฅผ ์ด์ฉํ์ฌ AddressListPage๋ก ์ด๋ํ๋ค. ๐ฅณ ๐ ๋ฐ๋ณต ์ก์ ์ ์ฃผ๋ ค๋ฉด Timer.periodic ์ ์ฌ์ฉํ๋ฉด ๋๋ค๊ณ ํ๋ค. ์ฐธ๊ณ ๊ธ: https://fluttermaster.com/t.. ์ด์ 1 ๋ค์