
iOS 18 이후부터 위젯을 사용자화 시켜 Tint 모드를 적용할 수 있어요. 따라서 기존 다크모드 라이트모드만 적용시켜 놓은 앱들은 지정된 색상과 다른 색상이 표현되어,제대로 위젯이 표현되지 않을 수 있어요. 오늘은 어떻게 마이그레이션 할지 같이 알아보아요.2024/10/21 일 iOS 18.0.1 기준이에요. 본론부터 바로 넘어갈게요!!!WidgetConfiguration 프로토콜 부분에 .containerBackgroundRemovable(false)해당 옵션을 설정해 주면 원래 색상에 틴트가 적용되어 아주 잘 보여요. 예시)struct create_view: Widget { let kind: String = "CalendarWidget" var body: some WidgetConfig..

2024/10/18 기준 메모. XCode 16 업데이트 후 iOS빌드를 하면 아래와 같이 오류가 발생해요. Failed to build iOS appLexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module 'firebase_dynamic_links.FLTFirebaseDynamicLinksPlugin': '/Users/gangjeongu/Documents/FlutterProject/signal-app/ios/Pods/Headers/Public/Firebase/Firebase.h'/Users/gangjeongu/.pub-cache/hosted/pub.dev/firebase_dynamic_links..
메모용도 글이에요. 아래는 에러 내용. 모든 방법을 찾아봤지만 해결방법이 나오지 않아 XCode version 을 15.4 -> 16.0 으로 바꾸니까 잘 동작 함Failed to build iOS appError (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_Builtin_float Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_errno Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_math Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_signal Error (Xcode..

Codemagic 사용시 아마 dependency에 private repository 에 직접 접근하여 사용하는 케이스도 있을 거에요.우리가 사용하는 프로젝트도 그 중 하나인데, Codemagic에서 동작 가능한 몇가지 방법을 소개 할게요. 1. PAT (Personal access tokens)를 이용한 방법 git login -> Settings -> Developer settings -> Personal access tokens -> Tokens(classic) -> Generate new token 클릭!-> Generate new token (classic) For general use 클릭! -> Note 부분에 필요한 내용 입력, 만료시간(Expriration) 설정, admin:org 에..
어느 순간 Flutter 앱을 켜면 앱이 무한 로딩 하면서 아래와 같은 로그를 뿜어낸다.I/ViewRootImpl@741b7c0[MainActivity]( 8839): [DP] cancelDraw null isViewVisible: trueI/ViewRootImpl@741b7c0[MainActivity]( 8839): [DP] cancelDraw null isViewVisible: trueI/ViewRootImpl@741b7c0[MainActivity]( 8839): [DP] cancelDraw null isViewVisible: trueI/ViewRootImpl@741b7c0[MainActivity]( 8839): [DP] cancelDraw null isViewVisible: trueI/ViewRoo..
갑자기 CS에 구글 로그인이 안된다는 내용이 급증하고, Firebase crashlytics에도 많은 에러가 발생하기 시작했다.로그를 보아도 내용은 io.flutter.plugins.firebase.crashlytics.FlutterError: PlatformException(exception, ERROR, null, null)이게 끝....찾아보니 다른 유저도 비슷한 문제가 있는지 깃 이슈도 등록 되었다.https://github.com/flutter/flutter/issues/155482 바로 본론으로 가서 해결방법은 구글 로그인시 명시적으로 가져오고자 하는 회원 정보를 전달해 주는것이다. await GoogleSignIn(scopes: ['profile', 'email']).signIn();s..
현재 앱에 다국어 지원을 위해 아래 세개의 라이브러리를 사용중이다. 1. easy_localizationhttps://pub.dev/packages/easy_localization다양한 언어에 대한 쉬운 번역 방법 제공사용법ex) Text('title').tr() //Text widget EasyLocalization( supportedLocales: const [ Locale('en'), Locale('ja'), Locale('ko'), ], path: 'resources/langs/langs.csv', assetLoader: CsvAssetLoader(), saveLocale: false, ..

이번에 알아볼 기능은 Edge Functions 스케쥴링 이에요.원하는 시간대에 edge functions을 실행하는 기능을 만들 거에요. 1. 아래 이미지 처럼 Database -> Extensions 탭에 진입하시고,pg_cron , pg_net 이 두가지를 활성해 주세요. 2. SQL Editor -> NEW query 를 눌러 주세요. 3. 아래 쿼리를 2번에 입력해주세요. 아래 쿼리는 1분당 한번씩 API 를 호출하는 쿼리에요.select cron.schedule( 'invoke-function-every-minute', '* * * * *', -- every minute $$ select///본인의 API METHOD 에 맞게 바꾸어 주세요 ex) http_get ..
오늘도 혹시나 모를 상황에 대해 잡지식 메모를 남겨 보아요. Firebase 에서 디비에 저장된 데이터의 전체 개수를 조회시 .size() 같은 함수를 사용하면, 금방 사용량이 초과되어 과금이 될 수 있다. 이런경우 아래에 집계 쿼리를 이용하여 조회할 수 있는 방법이 있으며, 제약사항 등 자세한 내용은 시간이 지남에 따라 변경 가능성이 있으니,항상 아래 최신 문서를 보고 참고 할 것.https://firebase.google.com/docs/firestore/query-data/aggregation-queries?hl=ko 집계 쿼리로 데이터 요약 | Firestore | Firebase5월 14일, Google I/O에서 Firebase를 다시 만나보세요. 지금 등록하기 의견 보내기 집계 쿼..

Android build시 가끔 아래와 같은 에러가 나올때가 있다. Unsupported class file major version 65좋지않다.... 1. Flutter 프로젝트 일경우 Android 프로젝트로 open후 File -> Project Structure 설정을 연다. 2. 좌측 메뉴에서 SDK Location을 누른후 파란색 그자 Gradle Settings 를 누른다.3. Gradle JDK 를 적당한 버전으로 변경해야 한다. 4. JAVA HOME 으로 변경 5. .zshrc 파일 수정이 필요하다.터미널에 vim .zshrc 을 입력한다.vim .zshrc아래 내용을 복붙후 저장한다. export JAVA_HOME=/Users/your_device_account/Library/..