♣ 개발/Flutter 12

[iOS] The App's Info.plist must contain an NSPhotoLibraryAddUsageDescription

스크린샷 등의 사진 저장을 위하여 사진첩의 접근 권한이 필요한 경우 info.plist에 NSPhotoLibraryUsageDescription을 추가해야 한다. 이미 NSPhotoLibraryUsageDescription가 추가되어 있는 상황에서 The App's Info.plist must contain an NSPhotoLibraryAddUsageDescription 의 에러가 발생할 경우 info.plist에 NSPhotoLibraryAddUsageDescription도 추가해주면 문제는 해결된다. 필자는 iOS 12.1버전에서 스크린샷 기능 사용 시, 해당 에러가 발생하였으며, 다른 버전에서는 NSPhotoLibraryAddUsageDescription 추가 없이 NSPhotoLibraryUsa..

♣ 개발/Flutter 2021.07.21

[Flutter] Visual Studio Code Flutter Sdk 등록하기

Windows 1. sdk 다운로드 및 unzip https://flutter.dev/docs/get-started/install 에서 sdk를 다운받고 압축을 푼다. 2. 배치파일을 생성 해당 sdk를 호출할 명령어로 배치파일을 만든다. 3. 환경변수 등록 시스템 속성 > 고급 > 환경 변수 > 시스템 변수 > Path 선택 > 편집 > 새로 만들기 > C:\Aliases\ 입력 4. visual studio code에 Flutter SDK 연결 settings.json에 아래와 같이 설정 ctrl+, > sdk 검색 > "settings.json에서 편집" 선택 5. 확인하기 터미널을 열고 flutterss (생성한 배치파일명)을 입력하여 아래와 같이 나온다면 정상적으로 연결 된 것이다. iOS 1...

♣ 개발/Flutter 2021.07.05

[Flutter] Shared Preference

▶ SharedPreference란? Anroid에서 지원하는 로컬 데이터베이스 저장 관리 시스템이다. ▶ 언제 사용하는가? 어플리케이션의 데이터를 저장하기 위해 사용하며, Key-Value 저장하려는 Key-Value 컬랙션이 비교적 적은 경우 사용한다. ▶ 개발에 사용한 프레임워크 별 SharedPreference 저장 경로 Anroid 플랫폼 앱 개발 시, 다양한 크로스플랫폼 프레임워크를 사용할텐데, 사용하는 프레임워크마다 SharedPreference의 저장 경로가 다르다. Anroid Native 저장경로 : /data/data/[pkg-name]/shared_prefs/pkg-name_preference.xml 저장경로 : /data/data[pkg-name]/shared_prefs/Share..

♣ 개발/Flutter 2021.06.23

[Flutter] Native 연동

Flutter에서 Anroid Native(Java, Kotlin)와 iOS Native(Objective-C, Swift) API를 호출하는 방법을 알아보려고합니다. Flutter가 Android와 iOS의 주요 라이브러리를 Wrapping하여 사용할 수 있도록 제공하지만, 모든 기능을 다 제공하는 것은 아니기 때문에 Native의 라이브러리의 기능이 필요할 때가 있습니다. 이런 상황일 경우, MethodChannel을 이용하여 Native의 Api를 실행하고, 그 결과값을 Flutter로 전달받을 수 있습니다. 참고문서 : https://flutter-ko.dev/docs/development/platform-integration/platform-channels

♣ 개발/Flutter 2021.06.22

[Flutter] Lint 에러

원인 Could not resolve all artifacts for configuration ':app:mpgioReleaseRuntimeClasspath' 해결방법 app/build.gradle에 intOptions(checkReleaseBuilds false)를 입력한다. Lint 에러가 뜨지않도록 옵션을 부여 본질적인 해결방법이 아닌 임시방편 에러가 난 부분을 확인하여 해결하기... how? https://jhshjs.tistory.com/13 [안드로이드] 오류: Lint found fatal errors while assembling a release target. 해결 방법 Android 개발 Warning과 Error - Android Lint Error APK Build Error Sol..

♣ 개발/Flutter 2021.06.22

[Flutter] 추천 라이브러리

Flutter 사용 시에 도움이되는 라이브러리 정리 UI simple_animation : 애니메이션 lottie : 애니메이션 flutter_svg : svg 파일 로드 auto_size_text : 해상도에 따라 텍스트 사이즈 조절 dotted_border : 점선 외곽선 carousel_slider : 이미지 슬라이어 cached_network_image : 한번 로드한 이미지를 캐쉬에 저장, 재로드 시 인터넷 연결 없이 캐쉬에서 이미지 로드 another_flushbar : 플러쉬바 생성 미디어 audioplayers : 오디오 플레이어 video_player : 비디오 플레이어 fijkplayer : iOS 전용 비디오 플레이어 camera : 사진/비디오 촬영, 카메라 옵션 설정 파일 관리 p..

♣ 개발/Flutter 2021.06.22

[Flutter] Scaffold

기본적인 디자인 요소를 제공하는 클래스라고 생각하면 이해가 빠릅니다. 기본적으로 앱의 UI를 구성하는 뼈대를 옵션을 통하여 제공해주는 클래스입니다. 제공하는 옵션 (안드로이드 기준) - AppBar : 앱의 상단영역에 자리잡으며, 제목이나 사이드바 등의 기능을 제공합니다. - body : 앱의 중앙영역에 자리잡으며, 실질적인 앱의 내용을 채워넣는 공간입니다. - BottomNavigationBar : 앱의 하단영역에 자리잡으며, 다른 페이지로 이동할 수 있는 버튼들을 배치하는 공간입니다. - FloatingActionButton : 페이지 위에 떠있는 버튼을 생성해주는 옵션입니다. - FloatingActionButtonLocation : 생성한 FloatingActionButton의 위치를 설정하는 옵..

♣ 개발/Flutter 2021.06.17

[Flutter] Material vs Cupertino

Flutter는 Material Design과 Cupertino Design 모두를 지원합니다. Material Design은 구글에서 지원하는 디자인 패키지로 Android 플랫폼에서 지원하는 대부분의 기본 UI 컴포넌트를 제공하며, Cupertino Design은 애플에서 지원한느 디자인 패키지로 iOS 플랫폼에서 지원하는 대부분의 기본 UI 컴퍼넌트를 제공합니다. 사용자에게 더나은 경험을 경험하게 해주려면 플랫폼에 맞는 UI를 지원해주는 것이 좋습니다. Material Design을 사용하기 위해서는 1. material 라이브러리를 사용하기 위해 import 'package:flutter/material.dart'; 를 최상단에 추가해줍니다. 2. MaterialApp을 사용하여 UI를 구성합니다..

♣ 개발/Flutter 2021.06.17

[Flutter] Route간 이동 방법 정리

Route란 Anroid의 액티비티, iOS의 뷰 컨트롤러와 대응대는 개념이다. Route간 이동하는 방법은 크게 단순 이동과, 데이터를 함께 전달하는 이동이 있다. - 단순 이동 : Route 간 이동 시, 전달하는 데이터 없이 이동 - 데이터 전달 이동 : Route 간 이동 시, 데이터 전달 데이터 전달 방법 1. 이동할 Route의 생성자의 인자로 직접 전달 class Arguments { string args1; int args2; Arguments(this.args1, this.arg2); } /*onGenerateRoute 미사용*/ //fist page Navigator.of(context).push(MaterialPageRoute(builder:(_) => MainPage(Argument..

♣ 개발/Flutter 2021.01.07
반응형