어느 순간 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/..
fastlane iOS setting 을 하다가 나중에 삽질 안하려고 메모해두어요. 1. 아래 링크로 들어가 로그인 해주세요.https://appleid.apple.com/account/manage 2. 로그인 및 보안 -> 앱 암호 항목을 눌러주세요. 3. 앱 암호 생성을 눌러주세요. 4. 적절한 이름을 넣고 생성해주세요. 5. 여기서 생성된 16자리 문자열을 사용하시면 됩니다.
CI,CD 구성중에 iOS 의 team id 와, ITC team id 값이 필요해서 나중에 다시 찾아볼까봐 메모해두어요. 1. 먼저 Team Id 는 https://developer.apple.com/account 로그인 - Apple idmsa.apple.com멤버십 세부 사항의 팀 ID 를 참고 하시면 돼요. 2. ITC team idhttps://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/user/detail앱스토어에 개발자 계정이 로그인 되어있고,위 주소 링크를 클릭 하시면 json 형식의 데이터들이 보여요 그럼contentProviderId contentProviderId 옆에 숫자가 ITC team id 입니다!
기록용으로 메모해 두어요. 먼저 Firebase google login 이 구현이 되어있다고 가정하고, 진행 할게요. 만약 Firebase google login이 설정이 되어있지 않다면, 다른 분들의 글에서 참고해서 셋팅해주세요. 1. google api 라이브러리 설치pubspec.yamlgoogleapis: ^13.1.0 2. 전체 코드 import 'dart:async';import 'package:firebase_auth/firebase_auth.dart';import 'package:google_sign_in/google_sign_in.dart';import 'package:signal/core/core.dart';import 'package:googleapis/calendar/v3.dart'..
Xcode 실행시 언제부턴가 아래 에러가 나면서 빌드가 안되었다. run custom shell script flutterfire upload crashlytics-symbol당황하지 말고 Runner 0 아래 보이는 이녀석을 찾자 !!FlutterFire:"flutterfire upload. 어쩌고 저쩌고" 아래처럼 지우고나서 다시 빌드시켜주면 정상 동작 할 것이다.