Skip to content

release(main): 첫 프로덕션 릴리스(v1.0.0+1) 를 main 브랜치에 병합합니다 🎉#42

Merged
ehdnd merged 434 commits intomainfrom
dev
Oct 17, 2025
Merged

release(main): 첫 프로덕션 릴리스(v1.0.0+1) 를 main 브랜치에 병합합니다 🎉#42
ehdnd merged 434 commits intomainfrom
dev

Conversation

@ehdnd
Copy link
Member

@ehdnd ehdnd commented Oct 17, 2025

첫 메인 릴리스 PR입니다. Google Play Console 에 올리고 비공개 테스트 진행하겠습니다 !

NotePageViewItem에서 링크 레이어 분리. UI 만 그리는, 제스쳐 + UI 그리는 레이어로 분리. 책임 범위 확정.
세션 관리는 수동에서 (not url 기반) -> routeaware로 자동 관리 가능.
위젯 생명주기 이슈로 타이밍 관리중.

TODO:
- 링크 삭제
- 링크 수정
- 링크 source / target 삭제 시 cacade 삭제
세션 관리 didPopNext 감지 못하므로 1프레임 뒤 세션 빌드하도록 수정.
글로벌 키 GoRouter 고유한 키로 변경.
이전 편집 화면 dispose 로 메모리 절감
정책:
- 페이지 이동
- 노트 이동
- 노트 나가기
(추후 디바운스 적용, 백그라운드 전환 시)
json 저장 (현재 노트) - notes list 변경 (객체 변경) - 트리거 - 전체 페이지 notifier 재생성 (out !!)
이제 세션 변경 - 노트 목록 read (스냅샷 저장) - 이후 재생성 안됨
구독하고 있지 않던 pageNotifier 구독으로 수정
페이지 탭 시 먼저 페이지 이동 점프 시도 (+방어 로직 추가)
notifier 재생성 트리거 없이 notifier setter 호출로 처리
- didPushNext / didPop 내부의 페이지 번호 저장은 빌드 중 provider 수정 문제 발생
- didPushNext 인덱스 저장 로직 삭제
- didPop addPostFrameCallack 으로 빌드 이후 실행으로 연기
- 이제 값 변경은 1. UI 탭하는 시점 2. 프레임 빌드가 끝난 이후 수행됨
- RouteId 고유한 값으로 각 페이지 인덱스 저장
- 과정에서 발생한 문제들 해결
ehdnd and others added 28 commits October 17, 2025 15:06
Co-authored-by: yul-04 <yurakim0829@gmail.com>
Co-authored-by: yul-04 <yurakim0829@gmail.com>
ios / android 모두 기존 아이콘 삭제 후 변경
- 실패 원인: firebase_crashlytics가 iOS에서 정적 라이브러리를 선호하는데, 지금 ios/Podfile:21과 macos/Podfile:22에서 use_frameworks!만 선언되어 있어서 Cocoapods가 동적 프레임워크로 빌드합니다. 그 상태에서 Crashlytics 모듈이 /ios/Pods/Headers/Public/Firebase/Firebase.h(non-modular header)를 포함하려다 Xcode가 “Include of non-modular header…” 오류를 띄우면서 빌드가 중단됩니다.
  - 해결안: use_frameworks! 대신 use_frameworks! :linkage => :static로 바꿔 정적 프레임워크로 링크하게 만들면 Crashlytics와 Firebase Core가 헤더를 모듈화한 상태로 노출되어 문제가 사라집니다. Flutter(Android/iOS) 쪽에서도 공식적으로 권장하는 설정입니다.
- 근본 원인: firebase_crashlytics 플러그인이 모듈화되지 않은 Firebase/Firebase.h 헤더를 포함하고 있는데, use_frameworks! :linkage => :static 구성(릴리스 빌드)이 이를 허용하지 않아 Xcode에서 “Include of non-modular header inside framework module” 오류가 발생했습니다. 로컬 디버그는 모듈 검사가 느슨해서 통과했던 거고요.
  - 수정 사항: ios/Podfile:43에서 Crashlytics 관련 타깃(Pods-Runner, firebase_crashlytics 등)에 대해 모듈 검사를 완화하고 관련 경고를 비활성화했습니다. 같은 파일 ios/Podfile:55부터는 post_install 단계에서 Crashlytics 플러그인 헤더를 열어 #import <Firebase/Firebase.h>를 #import <FirebaseCrashlytics/FirebaseCrashlytics.h>로 치환해 모듈화된 헤더만 사용하도록 만들었습니다.
- 데모, 스크린샷, 출시 링크 추가 필요
@ehdnd ehdnd merged commit 92aebb1 into main Oct 17, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants