Flutter 24

[Flutter] Firebase Crashlytics 적용 후 iOS에서 PhaseScriptExecution가 발생할 때

Flutter 프로젝트를 개발 후 iOS 빌드를 하였으나, FlutterFire에서 위와 같은 에러를 발생시키고 있었습니다.iOS 환경에서 크래쉬가 발생했을 때 Firebase Crashlytics로 크래쉬 로그를 보내고 로그를 확인하기 위해선 디버깅을 위한 심볼 파일인 dSYM을 업로드 해 주어야 합니다.이는 Flutter여서가 아니고 네이티브 iOS를 개발하더라도 마찬가지입니다.아무튼 FlutterFire에서 이를 업로드하는 스크립트에 문제가 있다고 합니다. 에러로그를 쭉쭉 내려봅니다. 에러로그를 내리다보니 flutterfire_cli와 관련된 문제이고 해결책을 알려주고 있습니다.Flutter 환경의 Firebase 설정을 위해 CLI 의존성이 필요한데, 이것이 호환이 잘 안되는 모양입니다.// Fl..

개발/Flutter 2025.03.12

Kotlin Multiplatform의 안정화와 Jetpack Compose

현재 안드로이드 개발자에게 큰 관심거리는 무엇이 있을까요? 굉장히 많은 것들이 있겠지만, 개인적으로 Jetpack Compose가 가장 큰 관심거리가 아닐까 합니다. 여기에 더해서 Flutter, Kotlin Multiplatform의 동향도 큰 관심거리입니다. Flutter는 많은 발전을 하고 있고, 채용공고도 꽤 많아졌을 만큼 모바일 개발에서 핫한 프레임워크가 되고 있습니다. 물론 현업에서 쓰기에는 아직도 이슈가 좀 있어 보이지만, 그래도 꽤 큰 IT회사에서 채택하는 경우도 점점 늘고 있습니다. 이런 상황에서 Kotlin Multiplatform도 점점 발전하면서 사람들의 관심을 끌고 있는데요. 안타깝게도 프로덕션 레벨에서 쓰기에는 안정적이지 않았습니다. 저도 간단한 예제를 통해 어떤 것인지 학습정..

개발/Android 2023.11.04

Kotlin Multiplatform Mobile(KMM) - Start!

최근 크로스 플랫폼에 대한 관심이 많아지고 있다. 그 중에서 가장 관심이 높았던 것은 Flutter와 Kotlin Multiplatform Mobile(KMM)이었다. Flutter는 3.0 이후, 벌써 3.7 버전이 릴리즈 되었다. (이 마저도 시간이 꽤 지났다.) https://medium.com/flutter/whats-new-in-flutter-3-7-38cbea71133c What’s new in Flutter 3.7 Material 3 updates, iOS improvements, and much more! medium.com 그만큼 구글에서도 크로스 플랫폼에 대한 지원을 아낌없이 하고 있다고 봐도 될 것 같고, 그에 따라 여러가지 기업에서도 Flutter를 도입하는 사례가 늘고 채용공고도 ..

개발/Android 2023.04.05

Flutter - Localization(현지화) 패키지, easy_localization

앱을 개발할 때, 한 국가만 대상으로 개발하여 출시하는 경우는 드물다. 한국, 미국, 일본 등 글로벌하게 출시하게 된다. 이럴때 고려해야 될 부분 중 하나는 앱 내 텍스트 등의 현지화다. 한국이라면 한국어로, 미국같은 영어권 국가라면 영어로 보여지게 한다는지 등. 안드로이드는 strings.xml 리소스를 분리하고, iOS는 국가별 문자열 키값 쌍을 만들고 String Extension에서 이를 읽어들여 런타임에 알맞게 보여지도록 구현했었다. Flutter는 어떻게 할 수 있을까? https://pub.dev/packages/easy_localization easy_localization | Flutter Package Easy and Fast internationalizing and localizati..

개발/Flutter 2023.01.28

Flutter - Open Source License 패키지

어떤 분야에서든지 개발을 해 보았다면 수 많은 오픈소스 라이브러리를 활용하고 있을 것이다. 오픈소스 라이브러리를 활용하는 것은 생산성을 높일 수 있을 뿐만 아니라, 개발 생태계에 있어 굉장히 좋은 문화라고 생각한다. 그러나 오픈소르 라이브러리를 활용하는데에 주의할 점이 있다. 바로 오픈소스 라이센스이다. 오픈소스 라이센스는 말 그대로 오픈소스에 대한 저작권 표시다. 오픈소스 라이브러리의 Github 저장소에서 Apache License 2.0이라던가, MIT License 같은 것을 본 적이 있을 것이다. 이것이 예인데, 각 라이센스 마다 수정 가능 여부, 상업적인 사용 가능 여부 등이 다르다. 라이센스에 대해 얘기하자면 끝이 없으니 여기선 넘어가겠다. 대부분의 오픈소스 라이브러리는 수정 및 상업적 이용..

개발/Flutter 2023.01.24

Flutter - 화려한 애니메이션이 앱을 감싸네! Lottie

모바일 앱을 더욱 아름답게 만들어주는 것이 애니메이션이다. 화면전환, UI가 보여지고 가려지고, 사이즈 변경 등 많은 부분에 애니메이션을 녹일 수 있다. 그렇지만 아이콘이나 이미지라던가, 화려한 애니메이션은 어려운 부분이 많다. 그래서 주로 Lottie를 사용하곤 한다. https://lottiefiles.com/what-is-lottie What is a Lottie animation? - LottieFiles Lottie is a JSON-based animation file format that works on any device and platform. LottieFiles lets you create, edit, test, collaborate on and ship a Lottie animati..

개발/Flutter 2023.01.15

Flutter - Firebase Firestore 연동 - 데이터베이스 접근과 읽기/쓰기

앱 개발을 할 때 Firebase는 뗄레야 뗄 수 없는 훌륭한 도구다. Firebase는 많은 도구가 있지만, Firestore는 그 중에서도 정말 유용하게 사용된다. 백엔드를 구축하기 어려운 상황에서 손쉽게 클라우스 데이터베이스를 사용할 수 있기 때문이다. 현재 진행중인 Flutter 프로젝트에서 Firestore 사용이 필요하기 때문에, 연동 과정을 정리한다. 먼저 터미널에서 아래 커맨드로 cloud_firestore 패키지를 추가한다. flutter pub add cloud_firestore 패키지 추가가 완료되었으므로, Firestore에 접근할 객체를 얻어야 한다. 놀랍게도 굉장히 간단하다. 아래 코드로 객체를 얻는다. db = FirebaseFirestore.instance; 이제 객체를 사용..

개발/Flutter 2023.01.14

Flutter Web - Chrome에서 개발하기

Flutter로 모바일 앱 개발을 할 때 정말 좋은 점은 바로 Hot reload 기능이 아닌가 싶다. UI를 변경했을 때 앱이 재실행되지 않고 바로바로 반영이 되어 개발속도가 확연히 다르다. 그러나, Flutter Web 에서는 Hot reload가 안되는 듯 하다. ㅠ_ㅠ 대신 Hot restart를 지원한다. Hot restart? Hot restart는 현재 앱의 상태를 유지하지 않고, 재시작해서 초기 화면으로 돌아간다. 즉, 어떤 화면을 작업중이라면 다시 들어가서 확인해야 되는 것. 그래도 build를 다시 하는 것 보단 나으니까.. 그럼 Hot restart는 어떻게 하는 것일까? 먼저, 자신의 프로젝트를 켜고 아래 커맨드를 입력하자. flutter run -d chrome 그럼 위와 같은 로..

개발/Flutter 2023.01.14

Flutter Web - Firebase Hosting에 배포해보자! 2. Flutter WebApp 배포

지난 포스팅에서 Firebase Hosting 배포를 위한 프로젝트와 CLI 설정을 마쳤다. 이를 기반으로 Flutter 프로젝트를 Firebase Hosting에 배포해보자. 1. Flutter 프로젝트 생성 본인이 사용하는 운영체제와 IDE를 사용해서 Flutter 프로젝트를 생성한다. 지금은 Firebase Hosting에 배포하는 것이 목적이므로 기본으로 생성되는 프로젝트로 충분하다. 적당히 프로젝트 이름과 설명을 작성한다. 플랫폼은 이 포스팅에선 Web만 선택해도 충분하다. 다른 플랫폼이 필요하면 추가하면 되기도 하고. 2. Flutter 프로젝트에 Firebase 설정 Flutter 프로젝트와 Firebase를 연동하기 위해선 간단한 설정이 필요하다. Firebase 프로젝트 콘솔로 이동하여 ..

개발/Flutter 2023.01.08

Flutter Web - Firebase Hosting에 배포해보자! 1. Firebase 설정

Flutter가 Web을 지원하기 시작한지도 꽤 되었다. 최근 여러모로 Web이 있으면 유용할 것 같아서 이것저것 알아보고 있었는데, 모바일 개발자로써 React 같은 웹 프레임워크를 배우는 것은 좀 그랬다. 언어부터 시작해서 익숙치 않다보니..? 하지만 Flutter라면 얘기가 다르지. Flutter 3.0이 배포된 이후로 회사에서도 관심도가 높아졌고, Google의 Fuchsia도 수면위에 올라오기도 하고, Flutter의 장점들 때문에 찾는 기업도 많아지고 있다. 그래서 기술적 트렌드를 따라가기 위해 나도 관심이 꽤 가고 있는 상태. 이 상태라면 Flutter도 익숙해질 겸, Web 개발 해보자! 가 된 상태. 아무튼 그래서, Flutter로 개발한 Web을 Firebase Hosting에 올려보기..

개발/Flutter 2023.01.08
반응형