전체 글

개발/Flutter

[Error][Firebase] This operation is sensitive and requires recent authentication.

문제점 아래 코드로 firebase의 계정을 삭제할 때 발생했다. await FirebaseAuth.instance.currentUser?.delete(); 해결방법 계정 삭제와 같은 민감한 작업엔 계정 재인증이 필요해 발생하는 문제이므로 재인증하면 된다. await FirebaseAuth.instance.currentUser?.reauthenticateWithCredential(각 플랫폼의 OAuthCredential);

카테고리 없음

[Error][firebase][apple_login] [firebase_auth/invalid-credential] The supplied auth credential is malformed or has expired. [ The audience in ID Token [com.your.service.identifier] does not match the expected audience. ]

문제점 어떤 글에선 firebase의 bundle id와 앱 내의 bundle id가 달라서 발생했다고도 한다. 내 경우엔 firebase에 apple 로그인 설정하는 곳에 service id를 잘못 입력해서 발생했다. 해결방법 잘못 입력된 값을 정상적으로 변경해준다.

개발/Flutter

[Error] CocoaPods could not find compatible versions for pod

문제점 ios에서 다른 패키지와 버전이 맞지 않아 발생 해결방법 pod update # not m1 mac arch -x86_64 pod update # for m1 mac pod install 참고 CocoaPods could not find compatible versions for pod "Firebase/CoreOnly" I've update my flutter package to the last versions and now IOS doesn't work anymore. When I try to update the pods it's shows this error: [!] CocoaPods could not find compatible versions for... stackoverflow.com

etc

[Apple] An attribute in the provided entity has invalid value

애플의 Identifiers 중 Services IDs를 생성하던 중 발생했다. 다른 Identifiers에서 만든 것과 같은 Identifier를 입력해서 발생한 것으로 보인다. 해결방법 중복되지 않는 Identifier로 만들어 해결

개발/Flutter

[Error][firebase] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null)

Error: Required named parameter 'auth' must be provided. 위 문제도 이 해결방법과 똑같이 해결함 문제점 firebase 관련된 패키지들의 버전이 호환되지 않아 발생한 것으로 보임 해결방법 firebase 관련 패키지들의 버전 최신화 flutter pub upgrade 설치된firebase패키지이름 최신화만 해선 동작하지 않으면 아래 방법 하나씩 해보기 flutter clean 실행 후 flutter pub get 실행 flutterfire configure로 firebase_options파일 재생성 참고 [Solved] Unhandled Exception: PlatformException(channel-error, Unable to establish conne..

개발/Dart

Object dynamic var 차이

Object 모든 타입의 공통 부모이다. 다른 타입을 대입 할 수 있다. void main() { Object obj = 10; print(obj.runtimeType); obj = '이십'; print(obj.runtimeType); obj = TestObj(); print(obj.toString()); } class TestObj { @override String toString() { return 'obj'; } } // 출력 결과 // int // String // obj dynamic 컴파일 시간에 오류를 잡아내는 static checking을 하지 않는다. 컴파일 시간에 오류를 잡아내지 않으므로 어떤 값이 들어오는지 정확히 알 때만 사용해야 한다. void main() { dynamic v =..

개발/Flutter

[Error] setState() or markNeedsBuild() called during build

문제점 위젯의 lifecycle이 build 중인 상태에서 setState를 호출해서 발생 내 경우엔 builder에서 setState를 호출해서 발생했다. 더 정확한 원인을 알아보기 위해 디버그 모드로 살펴봤다. setState 내부 코드를 들어가보면 많은 assert문을 지나 markNeedsBuild를 호출한다. markNeedsBuild 내부 중에선 _debugIsInScope함수에서 false가 반환되어 호출된 if문 아래의 _debugAllowIgnoredCallsToMarkNeedsBuild는 false로 되어있어 ! 연산자로 인해 true가 되어 해당 if문의 내부에서 최종적으로 에러가 발생한다. 이제 에러를 발생시키는 아래의 _debugIsInScope 코드를 보면서 에러가 발생하는 상..

개발/Dart

Built-in Type

먼저 dart에서 모든 타입의 기본값은 null이다. 기본값은 초기화를 따로 하지 않아도 대입되어 있는 값을 의미한다. 숫자 타입이여도 기본값이 null인데 그 이유로는 다트의 모든 타입은 object이기 때문에 null이 기본값으로 초기화된다. (물론 null-safety가 활성화되어있다면 타입에 ?를 붙여야 에러 없이 null로 초기화) Number 위에서 먼저 말했던대로 숫자 타입도 기본적으로 Object로부터 파생된다. 그 다음에 특이하게 바로 int와 double이 아닌 num이란 타입이 있다. 이는 int와 double 모두 될 수 있는 숫자형 타입이다. 이미지 출처 : https://dart.dev/guides/language/numbers num 일반적인 산술연산자와 절댓값을 구해주는 ab..

개발/Git

커밋 메세지에 이전 커밋 링크

자신의 repository에서 아래 commits를 누른다. 그러면 커밋한게 하나라도 있다면 아래와 같은 박스가 오른쪽에 있을 것이다. 커밋의 해시값을 줄인 것인데 이를 커밋 메세지에 넣으면 알아서 링크된다. 참고 Autolinked references and URLs - GitHub Docs URLs GitHub automatically creates links from standard URLs. Visit https://github.com For more information on creating links, see "Basic writing and formatting syntax." Issues and pull requests Within conversations on GitHub, referen..

개발/JavaScript

[Error] SyntaxError: Unexpected token ' in JSON at position

문제점 JsonString에서 키 값 또는 string타입인 값을 작은따옴표로 감싸서 발생 해결방법 JsonString내에서 키 값과 string타입인 값을 큰따옴표로 감싸 해결 만약 에러 내용 중 token 다음에 ' 이 아닌 다른 문자 하나가 나오면 키 값을 아예 따옴표로 감싸지 않아서 발생했을 가능성이 더 큼

leebera_
LeeBera