본문 바로가기

개발이야기

플러터 앱 에서 다른앱을 다이렉트로 호출하기 처음엔 기세좋게 스킴호출 대신 앱링크랑 유니버셜 링크를 사용하고 싶었다. 안드로이드의 경우 앱링크를 사용하는데 문제가 없었지만 iOS의 유니버셜 링크의 경우AASA (apple-app-site-association ) 파일을 만들어야 하는데 웹호스팅에서 확장자나 url rewrite 손댈수 있는 방법이 없어서 중도 포기해야 했다. 유니버셜링크에 비하면 사용성이 좀 떨어지지만 스킴을 호출하는 방식으로 진행 하려고 한다. 아래는 간단히 할일 정리해둠. • 당신의 앱이 이미 설치되어 있어야 함• 다른 앱이 패키지명을 알고 있어야 함Android: 다른 앱이 내 앱을 호출할 수 있도록 설정하는 방법1. 📦 AndroidManifest에 intent-filter 등록당신의 Flutter 앱의 android/.. 더보기
flutter ios 빌드시 wakelock_windows 에러 Failed to build iOS appError (Xcode): Package wakelock:windows references wakelock_windows:windows as the default plugin, but the package does not exist, or is not a plugin package. 플러터 버전 업그레이드 이후에 ios 빌드 하는데 왜 자꾸 wakelock windows 어쩌고 에러가 난다... 윈도우즈는 빌드 하지도 않는데 wakelock_windows 라이브러리를 추가도 해보고 별의별짓 다해봤는데 다 안되더라.그러다 우연히 wakelock_plus를 발견함 만쉐 ~~ wakelock_plus: ^1.3.2 더보기
isar_flutter_libs namespace not specified. (플러터 업그레이드후 에러 ) 플러터 업그레이드 하고 났더니 여러가지 문제가 발생했다. 1. gradle wrapperdistributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip 2. Kotlin Gradle Plugin (KGP) 버전이 현재 Android Gradle Plugin (AGP) 버전과 호환되지 않는 문제 plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" /.. 더보기
iwinv DB (phpMyAdmin) 에서 '불쾌'한 오류 특정 조건에서 mysql db insert error 가 발생하는것을 발견했다. '불쾌' 라는 단어는 아무 문제 없이 입력이 잘 되는데,,, '아니라 불쾌하다' 처럼 '쾌' 자가 특정 문자열과 결합될때 DB 입력이 안되는 문제가 발생했다.chatGPT 에게 물어봤다. 질문 >'불쾌' 라는 단어는 디비에 입력이 잘 되는데... '아니라 불쾌하다' 라는 문구는 입력이 안되는 문제가 발생해. 문제가 뭘까?GPT 답변 >MySQL에서 흔히 사용하는 문자셋 utf8은 실제로는 3바이트까지의 유니코드 문자만 지원합니다.하지만 '쾌'나 일부 이모지, 복합문자는 4바이트로 인코딩될 수 있습니다.이때, MySQL 테이블이나 컬럼이 utf8로 설정되어 있으면 4바이트 문자 입력 시 에러가 납니다.이때 필요한 건 utf.. 더보기
구글 애드몹 본인인증과 주소확인 구글 애드몹은 여러가지로 참 까다롭다.   가입 초반에는 부정 트래픽 이슈로 한참을 괴롭히더니,,,  정상적인 트래픽으로 어느정도 수익이 발생하고 나면 본인인증과 주소 확인의 절차를 거친다. 나는 법인 사업자라 본인 인증에는 휴대폰 인증후 사업자등록증 제출 하니 한번에 처리가 되었고 주소확인은 구글 애드몹에서 직접 오프라인 편지를 보내준다.  요즘 시대에 좀 무식한 방법 이긴 하지만 주소지 확인에는 이것 만큼 확실한 방법이 또 어디 있나 싶기도 하다. 구글에서 우편을 보낸지 거의 일주일 만에 아래와 같은 우편물이 도착했다.  우편물을 뜯어서 6자리 핀번호를 확인후 구글 애드몹 주소확인 페이지에서 입력했다. 그리고 드디어 모든 확인 절차 완료!!이제 광고로 돈만 좀 더 많이 벌면 좋겠다.    아직 애드몹.. 더보기
TXT 에서 유효한 문장 분리하기 ( NLTK) txt 에서 유효한 문장별로 분리하는 로직을 짜느라 진짜 고생 많이 했었다. 그런데,,, 찾아보니 자연처 처리 툴킷이 있었음. 아오 -_-'shell > pip install nltkimport nltknltk.download('punkt')from nltk.tokenize import sent_tokenize# 파일 읽기with open('/mnt/data/b.txt', 'r', encoding='utf-8') as file: lines = file.readlines()# 문장별로 분리 후 출력with open('/mnt/data/output.txt', 'w', encoding='utf-8') as output_file: for line in lines: sentences = s.. 더보기
flutter tts 무음모드 에서 재생하기 (진동모드 에서 재생) flutter tts 모듈을 사용중인데 무음모드에서 작동을 안하길래  ... 플러터 개발자 오픈챗방에 왜 그런지 물어봤었는데 원래 그런거 라는 답변이 왔다. 네이티브 앱에서는 음성 설정을 무음모드에서 음성모드로 변환후 TTS 실행하고 다시 원복해주는 방식으로 처리한다고 얘기 하길래 찰떡 같이 믿고 있었다. 몇개월 동안 이건 어쩔수 없는거라고 포기 하고 있었는데 ...   왜 단톡방에 물어보고 직접 찾아볼 생각을 안했을까? 과거의 내가 정말 한심 스럽다.   flutter tts 모듈에서도 그냥 무음모드에서 실행 되게끔  iosAudioCategory 설정을 지원해 주고 있었다. 아래와 같이 코드 추가해 넣으면 심플하게 해결 되더라.   if (Platform.isIOS) { await wi.. 더보기
github.io 홈페이지 느려지는 문제 (CDN 적용) 평소에 문제 없는데 특정일에 github.io 페이지가 엄청 느려지는 문제가 간간히 발생한다. 구글링 해봤더니 jsdelivr 라는 오픈소스 cdn을 쓰면 문제가 해결되더라. 이걸 몰라서 한참 고민 했었다는 ...   사용법은 아래와 같이 아주 심플하다. https://cdn.jsdelivr.net/gh/`{username}`/`{reponame}`@{`branch`}/`{filepath}` 이거 변경하고도 문제가 생기면 이사 가야 할듯 ---> 이게 저장소 50M 용량 제한이 있어서  갈아탐 cdn.statically.io 로 갈아탔다. 더보기