profile
ํ˜„ Flutter ๊ฐœ๋ฐœ์ž ๐Ÿฅด

[Flutter / error / GoogleMap] Android ํŽ˜์ด์ง€ ์ „ํ™˜์‹œ app crash error

GoogleMap์ด ์žˆ๋Š” ํŽ˜์ด์ง€์—์„œ ๋‚˜๊ฐ€๊ฑฐ๋‚˜, GoogleMap์ด ์žˆ๋Š” ํŽ˜์ด์ง€(ํƒญ)์„ ๋น ๋ฅด๊ฒŒ ์—ฌ๋Ÿฌ๋ฒˆ ์ „ํ™˜์‹œ ์•„๋ž˜ ์˜ค๋ฅ˜๋ฅผ ๋™๋ฐ˜ํ•˜๋ฉฐ ์•ฑ crash๊ฐ€ ๋ฐœ์ƒ๋˜๋Š”๋ฐ์š”, error >E/AndroidRuntime(26401): FATAL EXCEPTION: GLThread 87

2023๋…„ 4์›” 27์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Flutter / GoogleMap] ScrollView ์—์„œ GoogleMap Touch Event ์šฐ์„ ๊ถŒ ๊ฐ–๊ธฐ

GoogleMap์„ ์ „์ฒด ํ™”๋ฉด์— ์‚ฌ์šฉํ•  ๋•Œ๋„ ์žˆ์ง€๋งŒ, ์Šคํฌ๋กค ๋‚ด์— ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋•Œ๋„ ์žˆ๋Š”๋ฐ์š”! ScrollView ๋‚ด์— GoogleMap์„ ๋„ฃ๊ณ  ์‚ฌ์šฉํ•ด๋ณด๋ฉด GoogleMap๊ณผ ScrollView ๋ชจ๋‘ ๋“œ๋ž˜๊ทธ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์ด๊ฒŒ ์ค‘์ฒฉ๋˜๋ฉด์„œ ์•„๋ž˜ ์‚ฌ์ง„๊ฐ™์ด ์›ํ•˜

2023๋…„ 4์›” 25์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[ํšŒ๊ณ ] ๋‚˜๋Š” ์–ด์ฉŒ๋‹ค Unity์—์„œ Flutter๋กœ ๋„˜์–ด๊ฐ”์„๊นŒ?

Unity์—์„œ Flutter๋กœ ์ „ํ–ฅํ•œ ์ง€ 1๋…„ ๋ฐ˜์ด ๋„˜์–ด๊ฐ€๊ณ  ์žˆ๋Š” ์‹œ์ ์—์„œ ํšŒ๊ณ ๋ฅผ ํ•ด๋ณผ๊นŒ ํ•ด์š”.

2023๋…„ 4์›” 23์ผ
ยท
4๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Flutter / error] FlutterError (setState() or markNeedsBuild() called during build.

์ž‘์—…์„ ํ•˜๋‹ค ๋ณด๋ฉด ์ข…์ข… ๋งˆ์ฃผ์น˜๊ฒŒ๋˜๋Š” ์˜ค๋ฅ˜์ธ๋ฐ์š” ๋ง ๊ทธ๋Œ€๋กœ build๊ฐ€ ์ด๋ค„์ง€๊ณ  ์žˆ๋Š” ๋™์•ˆ setState ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค ์ €๋Š” textfield ์˜ validator ๋‚ด์—์„œ setState()๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋‹ค ์•„๋ž˜์˜ ์˜ค๋ฅ˜๋ฅผ addPostFrameCa

2023๋…„ 4์›” 21์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[Flutter / RichText] ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํฌ๊ธฐ์™€ RichText ํ…์ŠคํŠธ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅผ ๋•Œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

RichText๋ฅผ ์‚ฌ์šฉํ•ด ์ž‘์—…ํ•˜๋˜ ์ค‘ ๊ฐ™์€ ํฐํŠธ, ๊ฐ™์€ ์‚ฌ์ด์ฆˆ, ๋ชจ๋“  ์˜ต์…˜์ด ๋ชจ๋‘ ๊ฐ™์€๋ฐ WidgetSpan ๋‚ด์˜ Text์™€ TextSpan์˜ Text๊ฐ€ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋‹ฌ๋ผ๋ณด์ด๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค์ขŒ widgetSpan-Text, ์šฐ TextSpan์ด๊ฒƒ์€ Text ์œ„์ ฏ์˜ si

2023๋…„ 1์›” 23์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Flutter / error / iOS] Try launching Xcode and selecting "Product > Run" to fix the problem: open ios/Runner.xcworkspace

VS Code์—์„œ iOS ๋นŒ๋“œ๋ฅผ ํ•˜๋ ค ํ•˜๋Š”๋ฐ, ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

2022๋…„ 4์›” 12์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Flutter / GoogleMap] animateCamera ํ›„ ์ฝœ๋ฐฑ ์ด๋ฒคํŠธ(onCameraIdle)

googlemap ์„ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ํŠน์ • ์œ„์น˜๋กœ ์ง€๋„๋ฅผ ์ด๋™์‹œํ‚ฌ ์ผ์ด ์ƒ๊ธฐ๋Š”๋ฐ์š”, ๊ทธ๋•Œ๋Š” animateCamera ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ animateCamera์˜ ์ด๋ฒคํŠธ๊ฐ€ ๋๋‚ฌ์„ ๋•Œ(์ด๋™์„ ์™„๋ฃŒํ–ˆ์„ ๋•Œ) ์ฝœ๋ฐฑ์„ ์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”?

2022๋…„ 3์›” 31์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[Flutter] showDatePicker ํŠน์ • ๋‚ ์งœ ๋น„ํ™œ์„ฑํ™” ํ•˜๊ธฐ (selectableDayPredicate)

์ž‘์—…์„ ํ•˜๋‹ค ๋ณด๋ฉด DatePicker์—์„œ ํŠน์ • ๋‚ ์งœ๋Š” ์„ ํƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ์–ด์š”. ๊ทธ๋Ÿด ๋•Œ ์ด ์ฝ”๋“œ๋ฅผ ์ ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

2022๋…„ 3์›” 28์ผ
ยท
6๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Flutter / error] CupertinoDatePicker 'this.initialDateTime.minute % minuteInterval == 0': initial minute is not divisible by minute interval)

CupertinoDatePicker์—์„œ ๋ถ„๋‹จ์œ„๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.'this.initialDateTime.minute % minuteInterval == 0': initial minute is not divisible

2022๋…„ 3์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Flutter / error] CupertinoDatePicker 'mode != CupertinoDatePickerMode.dateAndTime || minimumDate == null || !this.initialDateTime.isBefore(minimumDate!)'

CupertinoDatePicker์—์„œ ์ดˆ๊ธฐ์‹œ๊ฐ„๊ณผ ์ตœ์†Œ์‹œ๊ฐ„์„ ๋™์ผํ•˜๊ฒŒ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.'mode != CupertinoDatePickerMode.dateAndTime || minimumDate == null

2022๋…„ 3์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Flutter] Constraints ์™€ Center, Align ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ

constraints ์‚ฌ์šฉ์ค‘์ผ ๋•ŒCenter, Align ์„ ์‚ฌ์šฉํ•˜๊ฒŒ๋˜๋ฉด maxHeight, maxWidth ๊ฐ€ ์ž๋™์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.ํ˜„์žฌ ๋†’์ด์™€ ๋„ˆ๋น„๋ฅผ ์œ ์ง€ํ•œ ์ƒํƒœ๋กœ ํ•˜์œ„ ์œ„์ ฏ์„ ์ •๋ ฌ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€child ์— Column/Row ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ mainAxisSize, m

2022๋…„ 3์›” 18์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Flutter / GetX] iOS ์ปค์Šคํ…€ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ทฐ ํ˜ธ์ถœ์‹œ ์ง์ „ ํ™”๋ฉด ๊ฒ€์ • ์—ฌ๋ฐฑ ์ƒ๊ธธ๋•Œ

๋ฃจํŠธ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ, ํ•˜์œ„ํŽ˜์ด์ง€์—์„œ ํˆฌ๋ช… ๋ฐฐ๊ฒฝ ๋ทฐ(ex. ๋‹ค์ด์–ผ๋กœ๊ทธ) ํ˜ธ์ถœ์‹œiOS๋Š” ์ง์ „ ํ™”๋ฉด์˜ ๋ฐ˜๋งŒ ํŠธ๋žœ์ง€์…˜ ๋˜์–ด ์šฐ์ธก์— ๊ฒ€์ •ํ™”๋ฉด์ด ์ƒ๊ธฐ๊ฒŒ ๋˜๋Š”๋ฐ์š”๊ทธ๋Ÿด๋•Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด fullscreenDialog ์˜ต์…˜์„ ์ผœ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

2022๋…„ 3์›” 18์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Flutter / GetX] ํŠน์ • ํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ€๊ณ  ์‹ถ์„ ๋•Œ (Get.until)

ํ˜„์žฌ ์—ด๋ ค์žˆ๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๊ณ A > B > C > D > E(ํ˜„์žฌํŽ˜์ด์ง€)GetX๋ฅผ ํ†ตํ•œ ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ณ  ์žˆ์„ ๋•ŒB๊ฐ€ ๋‚˜์˜ฌ๋•Œ๊นŒ์ง€ ์•ž์˜ ํŽ˜์ด์ง€๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•

2022๋…„ 3์›” 18์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Flutter] ListView ์ƒ์„ฑ ํ›„ ๋ฐ”๋กœ ํŠน์ • ์œ„์น˜๋กœ ์ด๋™

Flutter ์—์„œ ๋ฆฌ์ŠคํŠธ ๋ทฐ ์ƒ์„ฑ๊ณผ ๋™์‹œ์— ํŠน์ • ์œ„์น˜๋กœ ์ด๋™ํ•ด์•ผ ํ•  ๋•Œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

2022๋…„ 3์›” 18์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท