728x90
๋ฐ˜์‘ํ˜•

Computer Science/Flutter 10

[Flutter GoogleSignIn] ๊ฐ‘์ž๊ธฐ ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ์ด ์•ˆ๋œ๋‹ค.. (ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ํฌํ•จ !! )

Firebase๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌ๊ธ€ ์†Œ์…œ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•ด๋†จ๋Š”๋ฐ ๋ฉฐ์น ์ „๋ถ€ํ„ฐ ๊ฐ‘์ž๊ธฐ ๋กœ๊ทธ์ธ์ด ์•ˆ๋œ๋‹ค๋Š” ๋ถˆ๋งŒ์ด ํญ์ฃผํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค (ํ˜„์žฌ ๊ฐœ๋ฐœ์–ธ์–ด Flutter) ......... ์—๋Ÿฌ๋Š” ์ด๋Ÿฌํ–ˆ๋‹ค[GoogleAuthUtil] [GoogleAuthUtil] error status:UNKNOWN with method:getTokenWithDetailsPlatformException(exception, ERROR, null, null) ์•„๋‹ˆ ์ฝ”๋“œ ๋ฐ”๊พผ๊ฒƒ๋„ ์—†๋Š”๋ฐ ํ•˜๋ฃจ์•„์นจ์— ๊ฐ‘์ž๊ธฐ ๋‚œ๋ฆฌํ†ต์ด ๋˜์—ˆ๋‹ค...๊ธ‰ํ•˜๊ฒŒ ๊ฒ€์ƒ‰ํ•ด๋ณด๋ฉด ์•Œ์•„๋ณด๋‹ˆ ๊ฐ™์€ ํ˜„์ƒ์„ ๊ฒช๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋งŽ์•˜๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์ค‘ ์•„๋ž˜ ๊นƒํ—™ ์ด์Šˆ์—์„œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•˜๋‹ค GoogleSignInPlatform.instance.getTokens throws PlatformExcepti..

[Flutter] ์•ฑ terminate์ƒํƒœ์—์„œ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์„ ๋•Œ..!

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ๋นŒ๋“œํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ช‡๊ฐ€์ง€ ์ œ์•ฝ์ด ์žˆ๋‹ค. [๋ฌธ์ œ์ ]๋‚˜๋Š” ์•ฑ์ด ์ข…๋ฃŒ๋˜์–ด์žˆ๋Š” ์ƒํƒœ์—์„œ ํ‘ธ์‹œ์•Œ๋žŒ์„ ํ†ตํ•ด ์•ฑ์„ ์‹คํ–‰์‹œ์ผฐ์„ ๋•Œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ์•ฑ์„ ์ข…๋ฃŒ์‹œํ‚ค๋ฉด ์•ฑ๊ณผ์˜ ์ปค๋„ฅ์…˜์ด ๋Š๊ธฐ๋ฉด์„œ ๋กœ๊ทธ๊ฐ€ ์•ˆ ๋œจ๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค.๊ทธ๋Ÿฌ๋˜ ์ค‘ ์•„์ฃผ ์‰ฌ์šด ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋Š”๊ฑธ ์•Œ์•˜๋‹ค  [ํ•ด๊ฒฐ๋ฐฉ์•ˆ]ํ„ฐ๋ฏธ๋„ ์ฐฝ์—flutter run --release๋ฅผ ์น˜๋ฉด ๋œ๋‹ค..!!!!์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•œ ์ค„ ๋ชฐ๋ž๋‹ค..๋’ค์— ๋ถ€๊ฐ€์ ์ธ ๋ช…๋ น์–ด๋ฅผ ์ ์–ด๋„ ๋œ๋‹ค.ํ™˜๊ฒฝ์ด ๋ถ„๋ฆฌ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ --flavor dev, --flavor prod ๋“ฑ์„ ์ถ”๊ฐ€ํ•ด์„œ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค ํ•ด๋‹น ๋ช…๋ น์–ด๋กœ ์•ฑ์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ์•ฑ์„ ์ข…๋ฃŒ์‹œ์ผœ๋„ ๋กœ๊ทธ๋ฅผ ๊ณ„์† ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค ๐Ÿ™‚

[Flutter Google Login] ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ ์—๋Ÿฌ PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null)

Flutter์—์„œ ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋˜ ์ค‘ ์•ˆ๋“œ๋กœ์ด๋“œ์ชฝ์—์„œ ๋ง์ฝ์ด ์ƒ๊ฒผ๋‹ค. ๐Ÿ˜ฐ ์ผ๋‹จ ๋‚˜๋Š” google_sign_in ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ์„ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด GoogleSignIn _googleSignInAccount = await _googleSignIn.signIn(); ๊ตฌ๊ธ€ ๊ณ„์ •์˜ displayName, email, serverAuthCode, idToken๋“ฑ์„ response๋กœ ๋‚ด๋ ค์ค€๋‹ค. ์ด reponse๊ฐ€ ์ œ๋Œ€๋กœ ๋“ค์–ด์™€์•ผ ๊ตฌ๊ธ€๊ณ„์ •์— ๋กœ๊ทธ์ธ์„ ์„ฑ๊ณตํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌธ์ œ๋Š”... ๋ถ„๋ช… Android studio์—์„œ ๋นŒ๋“œํ•ด์„œ ํ…Œ์ŠคํŠธํ•  ๋•Œ๋Š” reponse๊ฐ€ ์ž˜ ๋“ค์–ด์™”๋Š”๋ฐ ์•ฑ์„ ๋ฐฐํฌ ํ›„์— ํ…Œ์ŠคํŠธํ•ด๋ณด๋‹ˆ๊นŒ ๊ณ„์† PlatformException(sig..

[์•ˆ๋“œ๋กœ์ด๋“œ] Debug, Release SHA key ์ถ”์ถœ ๋ฐฉ๋ฒ•

Debug ์ธ์ฆ์„œ ์ง€๋ฌธ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ• (Debug SHA key๊ฐ’ ์ถ”์ถœ) 1. Gradle ์ด์šฉ gradle ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด์„œ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ ํด๋”๋กœ ๊ฐ€์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ณ์ฃผ๋ฉด ๋! ./gradlew signingReport ์•„๋ž˜์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋˜๋Š”๋ฐ (์—ฌ๊ธฐ์„œ Config๊ฐ€ debug๋ผ๊ณ  ๋˜์–ด์žˆ๋Š”๊ฑฐ ๊ผญ ํ™•์ธ!) SHA1, SHA256์„ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค! > Task :app:signingReport Variant: debug Config: debug Store: C:\Users\####\.android\debug.keystore Alias: AndroidDebugKey MD5: ##:##:##:##:##:##:##:##:##:##:##:##:##:##:##:## SHA1: ##:##:##:##:#..

[Android] keystore๋ž€? keystore ์ƒ์„ฑ ๋ฐฉ๋ฒ• ๋ฐ ์—ญํ• 

[Android] buildType์ด๋ž€? debug vs release ๐Ÿ›  ํ”„๋กœ์ ํŠธ์˜ buildType์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 2๊ฐœ 1. debug 2. release ์ด ๋‘˜์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€ ?? ์งง๊ฒŒ ์š”์•ฝ ํ•˜๋ฉด, ๊ฐœ๋ฐœ์ž๋“ค์ด ์•ฑ์„ ํ…Œ์ŠคํŠธํ•˜๋ฉด์„œ ๋ฒ„๊ทธ๋ฅผ ์ฐพ๊ณ , ๋˜ ๊ทธ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ•˜๋Š” ์ž‘์—…๋“ค์„ debug mac-user-guide.tistory.com ๐Ÿ‘†๐Ÿ‘†๐Ÿ‘† ์•ž์„œ buildType์˜ ์ข…๋ฅ˜ 2๊ฐ€์ง€, debug์™€ release type์— ๋Œ€ํ•ด ์„ค๋ช…์„ ํ–ˆ์Œ ์œ„ ๊ธฐ๋ฐ˜์œผ๋กœ ์•„๋ž˜ ๋‚ด์šฉ์„ ์„ค๋ช…ํ•  ๊ฒƒ์ž„ debug.keystore ์ƒ์„ฑ debug.keystore๋Š” android sdk๋ฅผ PC์— ์„ค์น˜ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ํฌํ•จ์ด ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋จ! debug.keystore์˜ ์œ„์น˜ window : C:/..

[Android] buildType์ด๋ž€? debug vs release ๐Ÿ› 

ํ”„๋กœ์ ํŠธ์˜ buildType์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 2๊ฐœ 1. debug 2. release ์ด ๋‘˜์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€ ?? ์งง๊ฒŒ ์š”์•ฝ ํ•˜๋ฉด, ๊ฐœ๋ฐœ์ž๋“ค์ด ์•ฑ์„ ํ…Œ์ŠคํŠธํ•˜๋ฉด์„œ ๋ฒ„๊ทธ๋ฅผ ์ฐพ๊ณ , ๋˜ ๊ทธ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ•˜๋Š” ์ž‘์—…๋“ค์„ debug type์—์„œ ํ•จ. ๊ทธ๋ฆฌ๊ณ  release type๊ณผ์˜ ์•„์ฃผ ํฐ ์ฐจ์ด์ ์€, release type์€ ์‹คํ–‰ํ•˜๋ คํ• ๋•Œ keystore alias, keystore ์œ„์น˜, keystore ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ์„ ์š”๊ตฌํ•จ!!! ์™œ ์š”๊ตฌํ•˜๋ƒ?? ์™œ๋ƒ๋ฉด, release type์€ ์•ฑ ์ถœ์‹œ์šฉ์ด๊ธฐ ๋•Œ๋ฌธ!! ์•ฑ์ด ์ถœ์‹œ๋˜๋ฉด ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค์ด Google Play Store์—์„œ ์•ฑ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฑฐ ์•„์‹œ์ฃ ?

[ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ํฌํ•จ] CocoaPods could not find compatible versions for pod "":

pod install์‹œ ๋‚ด๊ฐ€ ๋งˆ์ฃผํ•œ ์—๋Ÿฌ: CocoaPods could not find compatible versions for pod "#####": ๋ฌด์ž‘์ • pod deintegrate → pod clean → pod install ์„ ๋ฐ˜๋ณตํ–ˆ์ง€๋งŒ ๊ณ„์† ๋งˆ์ฃผํ–ˆ๋‹ค ์—๋Ÿฌ์ฐฝ์—๋Š” 'pod repo update'๋ฅผ ํ•˜๋ผ๊ณ  ์จ์ ธ์žˆ๋Š”๋ฐ, ๋‚œ ์ตœ๊ทผ์— ์ด๋ฏธ pod update๋ฅผ ํ•œ ์ƒํƒœ์˜€๊ณ  ๋˜ ๋ฒ„์ „์—…์„ ํ•  ํ•„์š”๋Š” ์—†์—ˆ๋‹ค.. ๊ทธ๋Ÿฌ๋‹ค ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜๋‹ค,,!!!!!!! flutter pub get → cd ios → pod install flutter pub get์ด ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด์—ˆ๋‹ค..!! ๐Ÿ˜ƒ ์ €์ฒ˜๋Ÿผ pod clean์œผ๋กœ๋งŒ ํ•ด๊ฒฐ์ด ๋˜์ง€ ์•Š์€ ๋ถ„๋“ค์€ flutter pub get์„ ํ•ด๋ณด์„ธ์š”

[Flutter] pubspec.yaml & pubspec.lock

pubspec.lock - flutter ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ‚ค์ง€์˜ ๋ฒ„์ „์„ ์ •ํ™•ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ์ผ - pubspec.yaml ํŒŒ์ผ์— ๋ช…์‹œ๋œ ํŒจํ‚ค์ง€๋“ค๊ณผ ๊ทธ ์˜์กด์„ฑ ํŒจํ‚ค์ง€๋“ค์˜ ์ •ํ™•ํ•œ ๋ฒ„์ „ ์ •๋ณด๋ฅผ ํฌํ•จ - ์™œ ํ•„์š”ํ•˜๋Š๋ƒ ? --> ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰์‹œ, ํŒจํ‚ค์ง€ ๋ฒ„์ „ ์ถฉ๋Œ ๋ฐฉ์ง€, ํ”„๋กœ์ ํŠธ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•จ! - ์ผ๋ฐ˜์ ์œผ๋กœ ํ•ด๋‹น ํŒŒ์ผ์„ ์ง์ ‘ ์ˆ˜์ •ํ•˜์ง€ ์•Š์Œ. pubspec.yaml ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ฒ„์ „๋ฒ”์œ„๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌ๋จ pubspec.yaml - ํ”„๋กœ์ ํŠธ์˜ ์ข…์†์„ฑ์„ ์„ ์–ธํ•˜๋Š” ๊ณณ - ์–ด๋–ค ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€, ์–ด๋–ค ๋ฒ„์ „์˜ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€ ๋ช…์‹œ (ํŒจํ‚ค์ง€์˜ ์ตœ์†Œ ๋ฒ„์ „, ๋ฒ”์œ„ ๋“ฑ์ด ์ •์˜๋จ)

[Android Studio] device selection์— virtual device ์•ˆ๋œจ๋Š” ์ด์Šˆ ๐Ÿ˜ซ (ํ•ด๊ฒฐ ํฌํ•จ)

Device Manager์—์„œ virtual device ๊นŒ์ง€ ๋‹ค ์„ค์น˜ํ–ˆ๋Š”๋ฐ device selection์— ๋„๋ฌด์ง€!!! ๋œจ์งˆ ์•Š์•„์„œ ๋นŒ๋“œ๋ฅผ ํ•ด๋ณผ ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค ใ… ใ… ใ…  ์ง„์งœ ๊ฑฐ์˜ ๋ช‡์ผ์„ ๊ณ ์ƒํ–ˆ๋Š”๋ฐ.. ์ •๋ง ํ„ฐ๋ฌด๋‹ˆ ์—†๋Š” ์ด์Šˆ์˜€๋”ฐ๋Š”....ใ…Ž flutter doctor ์šฐ์„  ๋‹ค๋“ค ์ด๊ฑฐ ํ•œ๋ฒˆ๋งŒ ๋Œ๋ ค๋ณด์„ธ์š”... ์—ฌ๊ธฐ์„œ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค! Unable to locate Android SDK ์ €๋Š” Unable to locate Android SDK (android sdk ๊ฒฝ๋กœ ์„ค์ •์ด ์ œ๋Œ€๋กœ ์•ˆ๋˜์–ด์žˆ๋‹ค) ๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋œจ๋”๋ผ๊ตฌ์š” "android sdk ๊ฒฝ๋กœ๊ฐ€ ์–ด๋””์ง€..?" ์‹ถ์œผ์‹  ๋ถ„๋“ค์€ ์•„๋ž˜ ๋นจ๊ฐ„ ๋ฐ•์Šค ํด๋ฆญํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๊ฒฝ๋กœ๋ฅผ ์•Œ๋ ค์ค€๋‹ต๋‹ˆ๋‹ค~! ๊ฒฝ๋กœ๊ฐ€ ํ™•์ธ๋˜์…จ๋‹ค๋ฉด, ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์–ด ๊ฒฝ๋กœ ์ง€์ •์„ ํ•ด์ฃผ์„ธ์š”!..

[Flutter] ios ๋ฐฐํฌํ•˜๊ธฐ!!

ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ๋ช…๋ น ์น˜๊ณ  ์˜ค๋ฅ˜์—†์ด ๋Œ์•„๊ฐ€๋ฉด ๋ฉ๋‹ˆ๋‹น ์•„๋ž˜ ๋ช…๋ น์–ด๋Š” dev ๋ฒ„์ „ ๋ฐฐํฌํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค! flutter build ipa --release --flavor dev ์ฃผ์˜์‚ฌํ•ญ ๐Ÿ–– ๋‚ด๊ฐ€ ์ง์ ‘ ๋ฐฐํฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์œผ๋ ค๋ฉด ๊ด€๋ฆฌ์ž๊ฐ€ ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค appstore connect์— ๋“ค์–ด๊ฐ€์„œ ๋‚˜์˜ ์—ญํ• ์ด '๊ด€๋ฆฌ์ž'๋กœ ๋˜์–ด์žˆ๋Š”์ง€ ๊ผญ ํ™•์ธํ•ด์ฃผ์„ธ์š”! ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ถŒํ•œ์ด ์—†์–ด ๋ฐฐํฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

728x90
๋ฐ˜์‘ํ˜•