전체 글
[플러터] 키보드가 나타나도 ViewInset이 변하지 않을 때| Flutter view inset not working
상황에 대한 이해 앱 화면에 키보드가 나타나면 보통 ViewInset의 값이 늘어나서 앱이 차지하고 있는 화면의 크기가 줄어들게 되고, 그에 반응하여 위젯들이 움직인다. 그런데 간혹 시뮬레이터에서는 잘 되다가, 앱을 출시했을 때, 키보드가 나타나도 ViewInset의 값이 변하지 않아서 문제가 생길 수 있는데, 이건 앱이 FullScreen 모드로 설정되서 그렇다. 보통 앱은 Debug 모드와 Release 모드의 설정이 다르게 되어있는데, Debug 모드에서는 풀스크린 모드가 아니였다가 Release 모드에서 풀스크린 모드로 빌드가 된 상황이다. 이 문제를 해결하기 위해선 안드로이드의 경우 styles.xml 파일을 수정해주면 된다. android/app/src/main/res/values/styles..
[Flutter Admob] 플러터 IOS 앱에 애드몹 배너 광고 달기
안녕하세요 개발자 베베입니다. 이번 글에서는 플러터로 개발한 IOS 앱에 애드몹 광고를 넣는 방법에 대하여 알아보도록 하겠습니다. 사용하는 패키지이 글에서는 애드몹 패키지로 admob_flutter를 사용합니다. 플러터에서 사용하는 애드몹 패키지는 종류가 크게 3가지가 있는데, 각자 장단점이 있습니다. firebase_admob같은 경우에는 앵커 형식의 고정된 배너를 제공한다는 장점이 있지만 여러 단점이 존재합니다. admob_flutter는 광고를 위젯처럼 다룰 수 있는 장점때문에 저는 admob_flutter를 사용하는 것을 추천드립니다. 과정 1. 애드몹 페이지에 앱 등록 2. 광고단위 생성 3. 플러터 프로젝트 설정 4. 배너 추가 1、애드몹 페이지에 앱 등록플러터 앱에 애드몹을 사용하려면 먼저 ..
프로그램이 만들어지는 과정 | how to make program
안녕하세요 개발자 베베입니다. 이번 글에서는 프로그램이 만들어지는 과정에 대해서 알아보도록 하겠습니다. 관련 글 프로그래밍 언어란? | What is a programming language? 안녕하세요 개발자 베베입니다. 이 글에서는 프로그래밍 언어의 정의와 종류에 대해 알아보도록 하겠습니다. 프로그래밍 언어 프로그래밍 언어란, 프로그램을 정의하는 데에 사용되는 언어를 bebesoft.tistory.com 프로그램의 정의 우리가 평소에 손쉽게 사용하는 프로그램이란 다음과 같은 뜻을 가지고 있습니다. Program : 어떤 문제를 해결하기 위해 컴퓨터에게 주어지는 처리 방법과 순서를 기술한 일련의 명령어 집합 프로그램은 말 그대로 컴퓨터에게 무언가 작업을 시키게 하는 명령어를 모아둔 명령어 모음집입니다...
![[Flutter Apple Sign In] 플러터 애플 로그인 | 1. Apple Sign In 기능 활성화하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmbv6A%2FbtqQIXMfSYV%2FS6RsSrOnKEDFIo2kBHKxA1%2Fimg.png)
[Flutter Apple Sign In] 플러터 애플 로그인 | 1. Apple Sign In 기능 활성화하기
안녕하세요 개발자 베베입니다. 이번 포스팅에서는 앱에 애플 로그인 기능을 추가하기 위해 나의 앱에 Apple Sign In 기능을 활성화하는 방법에 대해서 알아보도록 하겠습니다. 선행 과정 파이어베이스와 플러터 프로젝트가 연결되어 있어야 함 Apple Developer Program에 가입되있어야 함 애플 로그인을 디버깅하거나 사용하기 위해선 먼저 애플 개발자 프로그램에 가입되있어야 합니다. 애플 개발자 프로그램은 제가 가입했을 당시 기준으로 12만원정도 하며 1년마다 갱신해주어야 합니다. 뭐.. 비싸긴한데 앱스토어에 앱을 출시하기 위해선 반드시 가입해야 하니 눈물 흘리며 가입해주도록 합시다.. 애플로그인이 필요한 이유 2020년부터 앱스토어에 출시되는 모든 어플은 구글로그인, 트위터 로그인같은 타사 인..
[Flutter Firebase Login]플러터 익명 로그인 | Flutter Anonymous Login
안녕하세요 개발자 베베입니다. 이번 포스팅에서는 플러터 프로젝트에 파이어베이스 익명 로그인을 추가하는 방법에 대해서 알아보도록 하겠습니다. 선행 조건 플러터 앱에서 파이어베이스 로그인 기능을 사용하기 위해서는 먼저 파이어베이스를 연동시켜주는 작업이 필요합니다. 아래 포스팅에 파이어베이스 연동 방법에 대해 적어놨으니 참고하세요~ [Flutter Firebase]플러터 파이어베이스 연동 | 안드로이드 앱 연결 안녕하세요 개발자 베베입니다. 이번 포스트에서는 안드로이드 앱 기준으로 플러터 프로젝트를 파이어베이스 프로젝트와 연결하는 방법에 대해서 알아보도록 하겠습니다. 만약 여러분들의 앱 bebesoft.tistory.com 목차 1. 파이어베이스 프로젝트 설정 2. 플러터 프로젝트 코드 작성 3. 파이어베이스..
![[Flutter Firebase]플러터 파이어베이스 연동 | 안드로이드 앱 연결](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwqE17%2FbtqQE8gShrY%2FEGCk5NZIW6jhy5A2PCkCJk%2Fimg.png)
[Flutter Firebase]플러터 파이어베이스 연동 | 안드로이드 앱 연결
사전 지식 및 목표 내 플러터 안드로이드 앱을 파이어베이스와 연동한다. 여기서 연동이라는 것은 파이어베이스의 기능을 사용하기 위한 가장 첫번째의 단계를 말하며, 이 단계가 수행되지 않으면 플러터 앱에서 파이어베이스의 기능을 사용할 수 없다. 이 게시글에서는 안드로이드 앱을 위한 설정을 진행하며, IOS 앱같은 경우 설정을 따로 또 해주어야 함 과정 1. 연동할 파이어베이스 프로젝트를 생성한다. (만약 기존 파이어베이스 프로젝트가 있다면 넘어가도 됨) 2. 파이어베이스 프로젝트에 앱을 등록한다. 3. 플러터 프로젝트를 설정한다. 4. firebase_core 패키지를 설치하고 실행시켜서 확인해본다. 파이어베이스 프로젝트 생성 프로젝트는? 먼저 파이어베이스 홈페이지로 이동해서 플러터 프로젝트와 연결할 파이어..
flutter :: main함수에서 비동기 함수 사용하기 | using async await in main function
이 글에서는 플러터 프로젝트 main 함수 내부에서 비동기 함수를 호출하는 방법에 대해 알아본다. main함수에 비동기 함수 호출 일반적인 비동기 함수라면 main 함수 내부에서 호출하여도 큰 문제가 발생하지 않는다. 그러나 플러터에서 사용하는 플러그인을 초기화하는 경우에 초기화 함수가 비동기 함수라면 문제가 발생한다. 예를 들어 파이어베이스 초기화를 위해 main 함수에서 Firebase.initializeApp()을 호출하면 다음과 같은 에러가 발생한다. void main() async { await Firebase.initializeApp(); // 비동기 함수 사용 시 에러 발생 runApp(MyApp()); } [VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exc..
IOS 앱 개발 시에 로컬 데이터는 어떤 디렉터리에 저장해야 할까? | Flutter
디렉터리의 중요성 앱에 로컬 데이터를 활용하려면 로컬 데이터의 특성에 맞게 저장되는 디렉터리를 정해주어야 한다. 안드로이드 앱같은 경우 이 점을 지키지 않아도 앱 심사가 거부되는 등의 문제가 발생하지 않지만, IOS 앱은 문제가 발생한다. 예를 들어 앱에서 활용하는 유저의 정보 파일을 TMP 디렉터리 ( 임시 파일 디렉터리 )에 저장하여 사용하고 있다면 데이터가 삭제될 위험도 있고 IOS 같은 경우 iCloud 백업 기능을 사용할 수 없다. 이 글에서는 IOS 앱이 사용하는 디렉터리의 구조와 목적을 알아보고, 추가적으로 path_provider 패키지를 사용해서 아주 쉽게 경로를 얻는 방법을 알아보도록 한다. IOS 앱의 구조 모든 IOS 앱은 샌드박스(SandBox)라는 자신만의 공간을 갖는다. 샌드박..
프로그래밍 언어란? | What is a programming language?
안녕하세요 개발자 베베입니다. 이 글에서는 프로그래밍 언어의 정의와 종류에 대해 알아보도록 하겠습니다. 프로그래밍 언어 프로그래밍 언어란, 프로그램을 정의하는 데에 사용되는 언어를 뜻합니다. 이 말이 바로 이해가 되시는 분들이 있는 반면에 이해가 잘 안되시는 분들도 계시겠죠. 이것을 이해하려면 먼저 프로그램의 정의부터 이해해야 합니다. 사전에 프로그램의 정의를 찾아보면 다음과 같이 써져 있습니다. 프로그램(Program) : 어떤 문제를 해결하기 위해 처리 방법과 순서를 기술한 일련의 명령어 집합체 즉, 프로그램이란 문제 해결을 위해 작성된 명령어들이라는 것입니다. 그렇다면 이 명령어는 누구에게 명령을 내리기 위해 쓰여진 것일까요? 바로 컴퓨터입니다. 우리는 어떠한 결과값을 얻기 위해 그 결과값을 도출하..
자료형 WORD, DWORD란? | what is WORD, DWORD data type
안녕하세요. 개발자 베베입니다. 이번 포스팅에서는 win32 api에서 사용되는 자료형 WORD, DWORD에 대해 알아보도록 하겠습니다. WORD? DWORD? win32 api를 다루다보면 종종 WORD나 DWORD 자료형이 보입니다.정의가 되어있는 헤더파일로 가보면 WORD는 unsigned short로, DWORD는 unsigned long으로 typedef 되어있습니다.그냥 unsigned short를 사용하면 되는데 굳이 자료 재정의를 하여 WORD로 사용하는 이유가 있을까요? 자료형 WORD의 유래WORD 자료형을 설명하기 전에 먼저, 운영체제가 개발되던 시절에 관한 내용을 짤막하게 해드리도록 하겠습니다. 운영체제는 탑재되는 컴퓨터의 성능을 최대한 활용하는 방향으로 개발되어 왔습니다. 그렇기..