전체 글 75

flutter 개발 환경 분리하기 flutter_flavorizr 사용하기

옛날 프로젝트 유지 보수 하면서운영앱에 개발서버 붙어서 배포 되는 바람에 아주,,,ㅜ(서버를 주석으로 처리한다고요???? - 아직 서비스 함)하여튼, 그런 불상사를 막기 위해서,프로젝트 설계에 참여하게 되면 무조건 환경을 분리하자고 강력 주장합니다. 개발서버와 운영서버 두개로 운영되는 서비스를 개발해야 합니다.  이전에는 Flavor를 통해 채널 열고 뭐 스킴 설정하고 블라블라 했었는데요, 최근 아래 블로그를 보고 새로운 프로젝트에 적용해보았습니다. 아래 블로그를 보시기 전에 알아두셔야 할 건 반드시..! 프로젝트는 백업이 된상태로 진행해야합니다.main.dart 파일이 새로 생성되기 때문에 무조건!! 백업해두셔야 합니다. 그리고 Vscode를 사용하신다면 F5키로는 분리된 환경이 실행되지 않습니다. 이..

카테고리 없음 2024.08.06

iOS 시뮬레이터 키보드 입력 안될 때 mac 키보드로 입력하기

시뮬레이터로 개발하면 키보드가 보일때UI가 예상한대로 작동하는지 확인해야 할 때가 있다. 그 외를 제외 하고는 mac의 키보드에서 입력을 하는데, 키보드를 활성화 하고 나면 맥 키보드값이 입력이 안된다.  우선 키보드 활성화 하는 방법은 아래와 같다.  Simulator > I/O > Keyboard > Toggle Software Keyboard 그럼 이제 시뮬레이터 키보드가 켜진다.  그런 뒤 만약 키보드 맥 키보드 입력이 안되면 Connect Hardware Keyboard 토글하면 된다.  그래도 안된다면 Simulator > I/O > Input > Send keyboard input to Device토글하면 된다.  단축키 외워두면 편하다. (노션이랑 단축키 겹친다...ㅠㅜ)  시뮬레이터에서 ..

develop 2024.08.05

[Flutter] 하단에 고정된 스크롤 가능한 바텀시트 DraggableScrollableSheet 사용하기

하단에 고정된 시트를 만들어야 했는데, 생각보다 쉽게 구현할 수 있었다. 다만 구글링이 올래걸렸다.. 다 생각했던 대로 원하는대로 움직이지를 않았다우...우선 고정된 시트는 DraggableScrollableSheet을 통해서 구현할 수 있다.  시트 구성하기시트 구성코드는 아래와 같다. DraggableScrollableSheet( initialChildSize: 0.25, maxChildSize: 0.8, minChildSize: 0.25, controller: sheetController, builder: (BuildContext context, scrollController) { return Container( ..

develop/Flutter 2024.07.26

next.js generateSitemaps 사용하여 sitemap 만들기 - SEO 최적화

sitemap nextjs 14.2 버전 이후로는 로컬라이징한 언어별로 sitemap을 맵핑 할 수 있다. 기본코드공식 문서에 따르자면 아래와 같이 코드를 작성하면 import { MetadataRoute } from 'next' export default function sitemap(): MetadataRoute.Sitemap { return [ { url: 'https://acme.com', lastModified: new Date(), alternates: { languages: { es: 'https://acme.com/es', de: 'https://acme.com/de', }, }, },..

develop 2024.05.22

Framework 'flutter_inappwebview' not found 6.0.0 버전

우선 Framework 'flutter_inappwebview' not found오류가 계속 떴다. 5.x.x 버전에서 6.0.0으로 올리니깐 안드로이드는 빌드되지만 iOS가 안되네? 헣ㅎ허weburl 때문에 무조건 6.0을 써야하는 상황인데 다시 다운그레이드를 할 수도 없는 상태에서 무조건 방법을 찾아야했다. 이번에 소요된 시간 무료 12시간,,, 이 글이 도움이 되기를  먼저 발생한 에러는 아래와 같다. Launching lib/main.dart on iPhone 13 in debug mode...Running Xcode build... └─Compiling, linking and signing... ..

develop/Flutter 2024.05.14

flutter setState() or markNeedsBuild() called during build. 의외의 이유

우선 위젯 구조는 Obx > ListView.builder 였습니다. get X에서 obx > ListView.builder 구조는 매우 흔한 것이었는데 어쩔땐 되구 어쩔땐 안되어서 ㅂㄷㅂㄷ 거렸는데요. 범인은 InkWell 입니다. 사실 setState 혹은 빌드를 계속 필요로 하는 위젯은 setState() or markNeedsBuild() called during build 오류를 계속 뱉어냅니다. 그럼으로 지금 오류를 겪고 있다면 listview 안의 위젯이 새롭게 그려지는 InkWell과 같은 State 위젯인지 확인해보세요

카테고리 없음 2024.04.24

[Flutter] 웹뷰 간편 일반 결제 안드로이드 intent 해결하기 flutter_inappwebview ERR_UNKNOWN_URL_SCHEME

현재 상황은 이렇습니다. 사용자가 결제를 하려고 하는데 웹페이지를 사용할 수 없음net:: ERR_UNKNOWN_URL_SCHEME으로 뜨고 앱결제는 넘어가고 일반 결제는 넘어가지도 않는 문제였다.  지난 1주일간 인터넷에서 확인할 수 있는 모든 정보를 찾아서 확인하고 적용하고 온갖 난리를 부렸지만 해결 되지 않았다. 결제가 되지 않는건 중요도가 매우 높은 오류라마음이 급했다. 원래 사용하던 라이브러리는 flutter_inappwebview ^5.8.0 버전https://pub.dev/packages/flutter_inappwebview flutter_inappwebview | Flutter packageA Flutter plugin that allows you to add an inline webvie..

develop/Flutter 2024.04.08

ITMS-91053: Missing API declaration 해결하기

3월 초까지만 해도 문제 없이 배포되던 앱이 메일이 왔다. 다행이도 지금 당장은 문제가 없는 것 같아 보였지만 5월 이후에 배포 안할 건 아니니깐,, api 가 있는 앱이라면 반드시 5월 1일 전까지 업데이트를 해야 한다. 아래는 공식 문서와 동영상 https://developer.apple.com/documentation/bundleresources/privacy_manifest_files Privacy manifest files | Apple Developer Documentation Describe the data your app or third-party SDK collects and the reasons required APIs it uses. developer.apple.com https://..

develop/배포 2024.03.23

TypeScript useState 타입 지정하기 List type 지정

웹 개발은 iOS, AOS 개발 보다 더 어렵게 느껴진다. react 그리고 nextjs로 사이드 프로젝트를 진행하면서 자바 스크립트, 타입스크립트를 주로 사용하다 보면 언어가 너무 지나치게 유연해서 머리가 뱅뱅 돈다.. js의 경우 java swift dart 등의 언어와 많이 다르다고 느껴진다. java swift dart 이 3개의 언어를 배울 때에는 어렵다고 느낀적도 없고 스트레스받은 적도 없지만 js 만큼은 그냥 날 거칠게 만들어,,, 하지만 js 보다는 나은 type script지만 여전히 익숙하지 않아 syntax error,, 매일 즐겨 본다 그중 하나였던 useState의 type 지정에 대한 글이다. 다들 고수니깐, 코드로 나갑니다. useState([]); useState(false..

develop 2024.03.06