목록Flutter(Dart) (38)
coding etude
이번 포스팅에서는 Clean Architecture의 이해(1)의 내용을 바탕으로 예제를 보면서 확인해 보자.사실 의존성의 흐름순으로 예제를 작성하는게 좋지만,오늘은 조금 쉽게 이해를 돕기위해 앱의 로직순으로 예제를 만들어 보고자 한다.(모든 예제는 flutter / dart 을 사용 합니다) Presentation(UI)class CounterScreen extends StatelessWidget { @override Widget build(BuildContext context) { final counter = context.watch().counter; return Scaffold( appBar: AppBar(title: Text('Clean Architecture Counte..
오늘은 클린 아키텍쳐에 대해서 한번 정리해 보자.Clean Architecture란 무엇인가?Clean architecture는 앱 전체의 구조 설계를 정의하는 용어이다.쉽게 말해서 내가 개발하는 프로덕트의 폴더구조를 뜻하는 것으로 폴더를 계층화 시키는 것으로,말 그대로 '깨끗한 구조' 를 말한다. 왜 깨끗한, 깔끔한 구조라고 할까?지금부터 자세히 알아보자.Clean architecture는 왜 사용 하는가?Clean architecture의 기본 개념이 위에서 설명한 계층을 분리하는것에 있다.그렇다면 계층을 분리해서 사용하는 것의 목적은 무엇일까?Clean architecture는 기분 적으로 의존성(DI)을 외부에서 주입 받아서 사용 하도록 한다.이 말은, 계층별로 상위와 하위가 분리되고 의존성은 상..
프로젝트 생성 후 처음 시뮬레이터로 디버깅 모드 실생 했을 때 처음 보는 에러가 발생 했다...뭐지..?! 발생 원인검색 해보니 이유는 특정되지 않지만 원인은 빌드과정에서 문제가 발생하는듯 하다.(너무 뻔한가..)1. 시뮬레이터와 연결되기전에 앱이 너무 빨리 종료되서 발생.2. 기존 작업하던 다른 앱의 cache가 남아 있을 때 발생.3. android 시뮬레이터일 경우 Quick boot를 사용하면 간혹 발생.4. 에러에 나오는 port 에 이미 다른 작업이 진행 되고 있을 때 발생.5. IDE 또는 pc(or 노트북) 의 vm 에 일시적 오류일 떄 발생.6. flutter 의 package가 오류를 낼때 발생.모든 해결 방법을 살펴 보자. 방법 1 : 기존 기록 삭제 하기 / 기존 cache 제거 하..
android studio에서 처음 flutter project를 생성하고 시뮬레이터에서 구동하면 gradle 버전 오류가 발생한다.프로젝트 생성 시 자동으로 세팅되는 버전은 AGP: 8.1.0 / gradle : 8.4로 되어 있다.(현재 NarWhal 2025 버전)android studio 홈페이지에서도 버전 호환 정보를 확인 할 수 있다.android SDK의 버전이 매년 업데이트 되면서 호환성 문제가 발생하는듯 하다. AGP 과 gradle그전에 AGP와 gradle를 알아야 한다.gradle는 쉽게 말해 범용 빌드 도구 이다. kotlin, java 의 빌드 자동화 도구라고 생각하면 된다.AGP(android gradle plugin)으로 gradle를 안드로이드 용으로 사용하기 위한 plug..
Admob 페이지에서 생성 및 설정 하는 방법은 생략..1. 설정 하기 - 파일에 앱 ID 설정하기IOS (IOS > Runner > Info.plist)GADApplicationIdentifierIOS APP IDANDROID (android > app > src > main > AndroidManifast.xml) 2. bannerAd 생성 및 Load 하기처음에는 provider와 GetIt을 사용하여 생성 하고 불러와서 사용했다.몇 가지 문제점이 발생 했다.- watch 를 사용해서 bannerAd가 로드 되었는지 구독하는 순간 무한 리로딩을 시작한다. (정확한 이유는 모르겠지만, bannerAd는 지속적으로 업데이트 되는듯 하다.)- read 를 사용하여 로드하고 불러오면 bannerAd가 ..
fastlane 에서 build_app()로 ios 의 build 폴더를 ipa 로 압축 할때 발생하는 에러. fastlane에서 실행 시 time out 시간을 세팅해주야 하는듯 하다. ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "120"이 코드를 ios/Fastfile 내부에 추가해 주면 해결 된다.어디에 삽입하는지 몰라서 고민했는데.build_app 을 사용하는 lane 내부에 넣어서 해결 됐다.숫자는 원하는 시간으로 수정이 가능하다. 예시lane :build do ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "120" build_app() end 끝.
flutter_slidable 을 사용하면 발생하는 에러. 단순하게 업데이트 버전이 안맞아서 나오는 증상인듯하다.pubspec.yaml 에서 flutter_slidable : ^3.1.1 => ^3.1.2 로 변경해서 해결.
xcode 빌드 시 발생하는 에러.사실 정확한 원인은 모르겠지만 permission 문제인것은 맞는것 같다.어떤 형님은 pod 업데이트 및 추가 시에 발생하는 에러라고도 하는데.. 사실 명확하진 않다. 해결 방법은 의외로 간다하다.xcode > target > build setting > user script sandboxing > Runner => nouser script sandboxing 의 Runner 부분을 no 로 변경해 주면 간단하게 해결 된다. 끝.