분류 전체보기

    [Flutter Apple Sign In] 플러터 애플 로그인 | 2. 파이어베이스 설정하기

    [Flutter Apple Sign In] 플러터 애플 로그인 | 2. 파이어베이스 설정하기

    안녕하세요 개발자 베베입니다. 저번 포스팅에 이어서, 이번에는 애플 로그인을 사용하기 위해 파이어베이스 프로젝트에서 설정해야 할 내용들에 대해 알아보도록 하겠습니다. 이전 포스트 [Flutter Apple Sign In] 플러터 애플 로그인 | 1. Apple Sign In 기능 활성화하기 안녕하세요 개발자 베베입니다. 이번 포스팅에서는 앱에 애플 로그인 기능을 추가하기 위해 나의 앱에 Apple Sign In 기능을 활성화하는 방법에 대해서 알아보도록 하겠습니다. 애플 로그인에 관 bebesoft.tistory.com 1. 애플 로그인 활성화하기 앱에서 사용하는 파이어베이스 프로젝트로 접속한 후, 왼쪽 메뉴의 [빌드] -> [Authentication]을 들어갑니다. Authentication 페이지의..

    플러터 파이어스토어 예외처리 | flutter firestore exception handling

    Firestore를 이용하여 특정 문서를 읽어오는 코드는 다음과 같습니다. FirebaseFirestore.instance 객체의 get() 함수가 성공적으로 실행이 된다면 DocumentSnapshot 객체를 반환하고 그 안에 값들이 담겨 있겠죠. 근데 이 get() 함수를 수행하면서 여러가지 예외가 발생하기 때문에 예외처리를 해주어야 합니다. 1. 통신 에러 & 권한 에러 처리해주기서버 측에서 통신을 할 수 없거나, 클라이언트(스마트폰) 측에서 인터넷이 연결되지 않아서 통신할 수 없는 경우 get 함수는 통신 에러 예외를 발생시킵니다. 만약 서버와의 통신은 원활하지만 클라이언트 측에서 사용하는 파이어베이스 계정이 해당 문서를 접근할 수 있는 권한이 없다면 권한 에러 예외를 발생시키게 됩니다. 위 두 ..

    플러터 ios 프로젝트 pod 의존성 최신화하기 | Flutter ios refresh pod

    간혹 플러터 앱 개발중에 버전에 대한 변동을 주고 싶을 때, pubspec.yaml에서는 변경했지만 pod 파일에선 변동이 없는 경우가 있습니다. 이럴 때에는 pod 파일에 관련된 몇몇 파일을 제거하고 다시 pod 파일을 인스톨해주면 해결됩니다. pod 파일 최신화 pod 파일의 의존성 정보를 최신화해줘야 빌드를 눌렀을 때 원하는 패키지 버전이 빌드됩니다. pod 파일을 최신화하는 방법은 다음과 같습니다. 플러터 프로젝트 폴더 내부의 ios 폴더로 이동해줍니다. $ cd ios/ 먼저 ios/Podfile.lock을 제거해줍니다. $ rm -rf Podfile.lock pod 파일 의존성 패키지를 업데이트 해줍니다. $ pod install --repo-update 명령어가 수행되면 의존성 패키지들이 다..

    IOS 앱에 애플 로그인이 사용된다면 반드시 지켜야 할 사항

    IOS 앱에 애플 로그인이 사용된다면 반드시 지켜야 할 사항

    만약 여러분이 개발한 IOS 앱에 구글 로그인같은 OAuth 로그인이 사용된다면 이젠 반드시 애플 로그인을 같이 구현해야 되는 세상이 왔습니다. 뭐 애플 마음이니까 강제로 구현하라고 하는거는 어쩔 수 없는데.. 애플은 앱 디자인까지 강제를 합니다... 애플 로그인 버튼 디자인 규칙 버튼 내부 문장 규칙 애플 로그인 버튼에 글이 있다면 반드시 "Sign in with Apple", "Sign up with Apple", "Continue with Apple" 이어야만 합니다.(영어 기준) 한국어로 적으려면 반드시 "Apple로 로그인", "Apple로 계속(하기)" 이렇게 적어놔야 합니다. 만약 "애플로 로그인" 이렇게 적어놓으면 앱 출시를 거부해버립니다. ㅋ 버튼 색상은 반드시 대조되게 애플 로그인 버튼..

    애플 앱 스토어 앱 출시 거부 - 안전성(Safety)

    애플 앱 스토어 앱 출시 거부 - 안전성(Safety)

    앱스토어에 커뮤니티 앱을 출시하려고 심사 요청을 했더니 다음과 같은 사유로 거부되었습니다. 대충 해석해보자면 가이드라인 1.2 - 안전성 - 사용자가 생성한 콘텐츠(Guideline 1.2 - Safety - User Generated Content) 항목에 위반되어 심사가 거부되었다는 것인데요. 위 항목에서 심사 거부를 받지 않으려면 다음과 같은 기능을 추가해야만 했습니다. 커뮤니티 사용자 이용 약관 제공하기 제가 개발한 어플같은 경우 따로 회원가입은 없고 OAuth 로그인을 할 수 있도록 해놔서 따로 유저들의 상태를 관리하지 않았습니다. 보통 회원가입이 있는 어플들은 회원가입할 때, 이용 약관의 동의를 구하기 때문에 상관없는데 소규모 어플같은 경우에는 커뮤니티를 이용하기 전에 반드시 이용 약관의 동의..

    플러터의 위젯에 대해 알아보자

    플러터의 위젯에 대해 알아보자

    위젯이란 플러터에서 위젯이란 화면에 그려지는 객체를 의미합니다. 화면에 그려지는 모든 것은 모두 위젯이라고 생각하면 됩니다. 위젯은 상태가 있느냐 없느냐에 따라 Stateless Widget, Stateful Widget으로 나뉘게 됩니다. 여기서 상태란 위젯을 구현하기 위해 사용되는 정보입니다. 상태(state) 예를 들어 현재 시간을 알려주는 시계 역할을 하는 위젯이 있다고 생각해봅시다. 매 초마다 현재 시간은 변할태니 시계 위젯은 매 초마다 모양이 변해야겠죠? 이런 기능을 위젯에서 구현하려면 일단 현재 시간이라는 값을 위젯 내부에서 보관해야하고, 시간이 흐를 때마다 시계 침 위치를 변동시켜주어야 합니다. 여기서 현재 시간에 대한 값과 시계 침 위치에 대한 값이 상태라고 불리는 것들입니다. 그렇다면 ..

    [플러터] 키보드가 나타나도 ViewInset이 변하지 않을 때| Flutter view inset not working

    [플러터] 키보드가 나타나도 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 앱에 애드몹 배너 광고 달기

    [Flutter Admob] 플러터 IOS 앱에 애드몹 배너 광고 달기

    안녕하세요 개발자 베베입니다. 이번 글에서는 플러터로 개발한 IOS 앱에 애드몹 광고를 넣는 방법에 대하여 알아보도록 하겠습니다. 사용하는 패키지이 글에서는 애드몹 패키지로 admob_flutter를 사용합니다. 플러터에서 사용하는 애드몹 패키지는 종류가 크게 3가지가 있는데, 각자 장단점이 있습니다. firebase_admob같은 경우에는 앵커 형식의 고정된 배너를 제공한다는 장점이 있지만 여러 단점이 존재합니다. admob_flutter는 광고를 위젯처럼 다룰 수 있는 장점때문에 저는 admob_flutter를 사용하는 것을 추천드립니다. 과정 1. 애드몹 페이지에 앱 등록 2. 광고단위 생성 3. 플러터 프로젝트 설정 4. 배너 추가 1、애드몹 페이지에 앱 등록플러터 앱에 애드몹을 사용하려면 먼저 ..

    프로그램이 만들어지는 과정 | how to make program

    프로그램이 만들어지는 과정 | how to make program

    안녕하세요 개발자 베베입니다. 이번 글에서는 프로그램이 만들어지는 과정에 대해서 알아보도록 하겠습니다. 관련 글 프로그래밍 언어란? | What is a programming language? 안녕하세요 개발자 베베입니다. 이 글에서는 프로그래밍 언어의 정의와 종류에 대해 알아보도록 하겠습니다. 프로그래밍 언어 프로그래밍 언어란, 프로그램을 정의하는 데에 사용되는 언어를 bebesoft.tistory.com 프로그램의 정의 우리가 평소에 손쉽게 사용하는 프로그램이란 다음과 같은 뜻을 가지고 있습니다. Program : 어떤 문제를 해결하기 위해 컴퓨터에게 주어지는 처리 방법과 순서를 기술한 일련의 명령어 집합 프로그램은 말 그대로 컴퓨터에게 무언가 작업을 시키게 하는 명령어를 모아둔 명령어 모음집입니다...

    [Flutter Apple Sign In] 플러터 애플 로그인 | 1. Apple Sign In 기능 활성화하기

    [Flutter Apple Sign In] 플러터 애플 로그인 | 1. Apple Sign In 기능 활성화하기

    안녕하세요 개발자 베베입니다. 이번 포스팅에서는 앱에 애플 로그인 기능을 추가하기 위해 나의 앱에 Apple Sign In 기능을 활성화하는 방법에 대해서 알아보도록 하겠습니다. 선행 과정 파이어베이스와 플러터 프로젝트가 연결되어 있어야 함 Apple Developer Program에 가입되있어야 함 애플 로그인을 디버깅하거나 사용하기 위해선 먼저 애플 개발자 프로그램에 가입되있어야 합니다. 애플 개발자 프로그램은 제가 가입했을 당시 기준으로 12만원정도 하며 1년마다 갱신해주어야 합니다. 뭐.. 비싸긴한데 앱스토어에 앱을 출시하기 위해선 반드시 가입해야 하니 눈물 흘리며 가입해주도록 합시다.. 애플로그인이 필요한 이유 2020년부터 앱스토어에 출시되는 모든 어플은 구글로그인, 트위터 로그인같은 타사 인..