본문 바로가기

머어어엉

(104)
Comleter를 잘 못 사용한 오류 상황 1. API 통신을 하여 위치(Location)에 해당하는 블루투스 기기의 mac address를 받아온다. 2. 기기로 주변의 블루투스 스캔를 스캔하여 "유도기"를 찾는다. 3. 찾은 "유도기"와 api 호출의 "mac address" 값이 일치하지 않아 음성이 출력되지 않는다. 4. 1과2를 동일하게 거쳐 3번이 성공하게 된다면 이미 실패했다고 생각한 음성들이 한 번에 모두 출력된다. 원인 파악 1번에서 2번의 함수를 호출한다. 2번 함수는 파라미터로 들어온 값과 블루투스에 스캔한 값이 동일하다면 connect 함수를 호출하는 함수이다. 그런데 일치하는 블루투스가 없기 때문에 connect 함수가 불리지 않아서 발생하는 문제이다. connect 함수 안에는 1번 함수의 future를 comple..
flutter Naver Map MissingPluginException Exception: MissingPluginException(No implementation found for method polygonOverlay#update on channel naver_map_plugin_1) 오류의 원인이 dispose라는건 인지하였지만 왜 dispose 되는지 알 수 없었다. 처음으로 상위 부모 라우트가 갱신되면서 재빌드가 되서 didUpdate가 불린다고 생각해 어떻게하면 didUpdate를 안부를 수 있을까 고민했지만 상위 위젯도 상태를 가지고 있었기 때문에 수정이 어려웠다. 그러다 dispose를 안하면 되지 않을까 생각이 들었다. tabBarView의 위젯들이 왜 지워질까를 찾아봤다. 당연히 위젯을 안지워지게 하는 방법도 있어 검색한 내용을 적용해 보니 쉽게 해결 할 ..
[firebase_dynamic_links/unknown] com.google.android.gms.common.api.ApiException: 400: Your project does not own Dynamic Links domain 오류 [firebase_dynamic_links/unknown] com.google.android.gms.common.api.ApiException: 400: Your project does not own Dynamic Links domain 비지니스 로직 212 줄에서 에러가 발생한다. 이코드가 자신의 앱에서 실행하면 정상적으로 shortUrl 을 생성해준다. 하지만 다른 a앱에서 해당 앱인 b앱의 동적링크를 만들려고 한다면 shortUrl은 생성할 수 없다. 검색해보면 해당 프로젝트의 google-service.json 파일을 새롭게 갱신하라고 하는데 나의 원인은 그 이유가 아니다. 해결방안 첫번째 시도로 긴 링크의 주소를 가지고 파라미터를 넘겨주는 방식으로 해보았지만, name이라는 파라미터 값만 ..
오류) Error running pod install 해결 해결 방법 1. cd ios 2. pod update 3. flutter run stack overflow In Flutter project, I Also faced with this issue. Fixed by updating flutter and cocoa pods to the latest version. Solution:- flutter clean rm -Rf ios/Pods rm -Rf ios/.symlinks rm -Rf ios/Flutter/Flutter.framework rm -Rf ios/Flutter/Flutter.podspec flutter pub get cd ios pod install arch -x86_64 pod install (On an M1 mac use => arch -x86..
오류 ) CocoaPods not installed or not in valid state. 해결방법 https://www.androidhuman.com/2021-04-18-flutter_cocoapods_not_installed_or_not_in_valid_state 'CocoaPods not installed or not in valid state' 오류 해결하기 #Android, #Kotlin, and #Tesla www.androidhuman.com 위의 링크를 참고하면 웬만하면 해결 될 것이다. 하지만 난 위의 경우를 모두 해봤지만 진전이 없었다. 저자의 상황 1. 예전에는 정상적으로 빌드가 됨. 2. 아래 이미지처럼 터미널과 펍스펙의 결과가 다름. 해결 과정 1. 안스가 정상적으로 인식을 못하고 있다고 판단. 2. 재설치를 고려하였지만 업데이트 메시지가 있어 안스 업데이트. 원인은 안스의 버전..
오류 ) FormatException: Invalid character (at character 50) [api 주소] api를 사용해 객체화 시키는 작업을 진행하는 도중에 발생한 오류, 브레이크 포인트를 걸어도 잡히지 않았다. 구글은 검색해서 찾아봤지만 header를 작성하라고 함. 찾은 방법을 적용해서 작업했지만 결과는 달라지지 않았다. 고민끝에 원인을 찾았다. _baseUri라는 상수에 com 이후 /v2를 작성해놨는데 그 이유로 인해서 FormatException 발생하였다. baseUri는 com 까지만 작성해주고 나머지는 2번째 파라미터에 값으로 넣어주니 정상작동함.
dart .. operator 문법 다트 .. 문법 class Calc{ int num=0; int sum(int n) => num+=n; Calc sumAlt(int n){ num += n; return this; } } void main1() { final calc = Calc(); var d= calc.sum(3); print(d); // 3 } void main2() { final calc = Calc(); var d= calc..sum(3)..sum(3); print(d); // Instance of 'Calc' } void main3() { final calc = Calc(); var d1= calc.sumAlt(3).sumAlt(3); print(d1); // Instance of 'Calc' } 코드르 보면 이해가 쉬울 것이..
dart 어려운 stream, streamController 내맘대로 이해 스트림 개념은 쉬웠다. 하지만 프로젝트에 적용하려면 어려웠다. 어떻게 사용해야 되는지 모르겠더라. 알아보자. 개념은 이미지가 전부이다. 컨트롤러가 add를 해서 제공을 해주고 스트림은 컨트롤러에서 받은 것을 subscription에게 전달해주는 역할을 한다. 전달해주는 중간에 add한 data를 내맘대로 변경시킬 수 있다. 수신자는 구독을 할 수도, 구독을 취소 할 수도 있다. 그러면서 이제 단일방송이냐, 다수방송이냐가 들어오면서 머리가 복잡해지고 다시 개념을 보게되고 그랬다. 스트림은 한개의 리슨만 할 수 있다. 하지만 broadcast를 하면 여러개의 리슨을 할 수 있다. 브로드케스트는 컨트롤러나 스트림에서 할 수 있으며 어디에서 브로드케스트를 하느냐에 따라 달라지게 된다. 코드를 보자. Stream..