본문 바로가기

Mobile14

[iOS] No such module 에러 (다양한 해결책들) No such module 에러에 대한 문제 해결 케이스를 바로 보고 싶으면하단의 에러 해결 섹션으로 가주시기 바랍니다!! 그리고 동일한 에러에 대한 다른 해결책들도 하단에 있습니다.  에러와 첫 만남회사에서 업무를 하던 중, flutter 프로젝트를 빌드해야 할 일이 생겼다.이 프로젝트에는 네이버 로그인을 포함한 여러 패키지가 있었고, iOS 에 대한 경험이 거의 전무했던 나에게 팀장님께서 경험을 쌓아보라며 기회를 주셨다. 내가 빌드하기 전까지 다른 사람이 정상적으로 빌드하고, 앱 스토어에 배포까지 했던 프로젝트이다. 하지만.. 내가 빌드했을 때 에러 딱 한 줄을 발견했다. (당시에 Xcode 에 대한 지식도 없어서 검색하면서 기능들을 배울 때였다.) No such module 'NaverThirdPa.. 2025. 2. 11.
WidgetsBinding 란? WidgetsBinding 이란?Flutter 의 framework 와 *엔진 을 연결하는 핵심 클래스로,위젯 트리의 생명 주기를 관리앱의 이벤트(프레임 업데이트, 입력 이벤트, life-cycle 변화 등)를 처리한다.즉, Flutter 의 위젯 system 과 engine 사이의 “중재자” 역할을 수행한다.  엔진(engine)?*Skia 그래픽 엔진과 Dart 실행 런타임을 포함하는 핵심 컴포넌트 이다.UI 렌더링, Animation, 입력 이벤트 처리 등을 담당하는 Flutter 의 핵심 부분을 의미한다.참고로, Fluttter 엔진은 C++ 로 작성되어 있으며, native 플랫폼과 Flutter 프레임워크를 연결하는 역할을 수행한다.  Skia 그래픽 엔진?Google 이 개발한 오픈소스 2D.. 2025. 1. 17.
[Android] gRPC keepAlive 적용기 문제상황서비스 운영 중, 앱에서 실시간 데이터가 갱신이 되어야 하는 상황임에도 불구하고 실시간 정보가 제대로 갱신되지 않는 것 같다는 요구사항이 들어왔다.해결과정현재 우리는Android 에서 gRPC Java 를 통해 server 와 통신 중에 있으며, StreamObserver 로 응답 값을 받아오고 있다.당시 문제가 되는 rpc 는 Server Stream 이었다.원인 분석Q) 서버에서는 응답 값을 정상적으로 전달하였는가?⇒ YES.server 측 로그 분석 결과, client 로 정상적으로 응답 값을 전달을 시도한 것으로 확인했다. (하지만 client 에서 메시지를 받지 못하였음)============근데 전송 당시에 실제 서버에 남은 로그가 존재했던가? 아니면 아무런 이상이 없었던가?Q) 네트워.. 2024. 5. 25.
[Android] 코드 최적화 proguard-android-optimize 관련 이슈 proguard-android-optimize.txtproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), '[proguard-rules.pro]()'“proguard-android-optimize.txt” 는 최적화 수준이 “proguard-android.txt” 에 비해서 더 공격적으로 최적화를 진행한다.따라서 난독화 도구에 의해 런타임에서 제네릭 정보를 제거하거나 변경할 수 있다.따라서, 타입 정보가 반드시 필요한 매서드의 경우에는 오류가 발생한다.ex) 나는 com.google.gson.reflect 의 TypeToken 과 같은 메서드를 사용했었다.해결1. 위에서 사용한 “proguard-android-optimize.txt.. 2024. 5. 25.
[Jetpack] Compose 간단 개념 정리 Composable typestateful상태가 변하면 자기 자신과 child 의 Composable 을 재구성(re-compose) 한다.stateless스스로 재구성할 수 없기 때문에 부모의 Composable 이 재구성되면 자신도 재구성한다.composable 종류LayoutBoxConstraintLayoutBoxWithConstraintsColumnRowFoundationBaseTextFieldLazyRowCanvasShapeImageTextLazeColumnMaterialAlertDialogRadioButtonButtonScaffoldCardSliderCircularProgressIndicatorSnackbarDropdownMenuSwitchCheckboxTextFieldFloatingActio.. 2024. 5. 25.
[Jetpack] Navigation 간단 개념 정리 설명내비게이션 아키텍처에서는 내비게이션 스택을 이용해 사용자 경로를 추적함목적지 사이의 이동, 내비게이션 스택 관리와 관련된 모든 작업은 NavHostController 에서 제공하는 하나의 Navigation Controller 에 의해 처리된다.목적지앱을 구성하는 각 화면(컴포저블 또는 액티비티 등)Navigation Host사용자가 이동할 목적지의 placeholer 역할을 한다.Navhost 호출 시에는 시작 목적지와 내비게이션 그래프 역할을 하는 Composable 인 NavHostController 인스턴스를 전달해야 한다.Navigation Graph이동 가능한 목적지로 이용할 수 있는 모든 컴포저블로 구성된다.목적지들은 Route 형태로 선언된다.목적지 추가하기sealed class Nav.. 2024. 5. 25.