반응형

플러터 12

실제 iPhone 기기에서 flutter Debugging

안드로이드 폰의 경우에는 연결하면 별다른 설정 없이 바로 실제 폰에 앱을 설치하고 디버깅 할 수 있다. 하지만, 아이폰은 보안을 중요시하는 애플 정책으로 인해 까다로운 절차들이 필요하다. 게다가 사용할 아이폰 마다 설정해야 하니 개발자 입장에서 여간 귀찮은게 아니다. 앱 개발에 실제 아이폰 기기를 이용하기 위해 우선 아이폰의 개발자 모드를 활성화 한다. 개발자 모드 활성화는 iOS 16.2 기준으로 설정 > 개인정보 보호 및 보안 > 개발자 모드 메뉴에서 켤 수 있다. 사용할 아이폰을 맥에 연결하고, 신뢰할지 묻는 메시지가 뜨면 '신뢰함'을 선택한다. 이상태에서 바로 아이폰 선택하고 빌드하면 아래와 같은 오류가 뜬다. 유효한 인증이 없다고 한다. 다행히 방법이 상세하게 안내되어 있다. 안내된 대로 해보자..

flutter에서 match_parent 효과

플러터에서는 위젯의 사이즈 설정시 네이티브에서 사용하는 match_parent를 명시적으로 지원하고 있지 않다. 추측하기로는.. 플러터에서 위젯을 그리는게 부모의 사이즈를 모르는 시점에서 이뤄지는거 아닌가 싶다.. 어쨌든, 부모 위젯의 사이즈를 따라가고 싶은 경우가 있을 수 있는데, 이때 아래와 같이 사용할 수 있다. Row, Column 에서 mainAxisSize: MainAxisSize.max, Container 에서 height: double.infinity

GoogleSignInPlugin.java uses or overrides a deprecated API. 오류처리

파이어베이스 연동 테스트를 하던 중 아래와 같은 오류가 발생하였다. Note: /Users/insomnia/.pub-cache/hosted/pub.dartlang.org/google_sign_in-5.2.1/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java uses or overrides a deprecated API. pubspec.yaml 파일에 package 를 이것저것 넣고 있는 와중이었는데, 아마도 어딘가 dependency 가 꼬인게 원인이 아닌가 싶은데, 위와 같은 종류의 오류가 발생할 때는 아래와 같이 초기화를 해 보면 대체로 해결된다. flutter pub cache repair terminal 에서..

Stateful Widget Lifecycle (위젯 생명주기)

안드로이드 코틀린 프로그래밍에서의 Activity Lifecycle 처럼 플러터에서도 위젯의 생명주기가 있다. 플러터에서는 크게 Stateless Widget, Stateful Widget 두 가지가 존재하는데, Stateless 위젯의 경우 한 번 만들어지면 갱신하지 않으므로 따로 생명주기라는게 없다. 따라서 플러터에서 생명주기라 함은 곧 Stateful Widget의 생명주기라고 할 수 있겠다. Stateful widget 은 또 StatefulWidget 클래스와 State 클래스로 구분되어 있는데, 화면 갱신 등의 실제 동작은 State 클래스에서 이루어지므로 Stateful Widget 생명주기는 또한 State 클래스의 생명주기라고 해도 될 것 같다. 1. createState() Statef..

flutter에서 android native code 와 연동

플러터만으로도 대부분의 기능들을 편리하게 사용할 수 있지만, 안드로이드 시스템 API를 사용해야 한다거나, 성능상의 문제로 native 코드를 작성해야 하는 경우가 있다. native code 와 병행해서 만들어진 flutter package 들도 아주 많다. 어떻게 flutter 에서 native 로 작성된 코드를 호출할 수 있는지 정리해 보았다. Android Native 와 통신 위 구조에서 확인할 수 있듯이 MethodChannel을 통해 iOS 또는 Android 플랫폼과 데이터를 주고 받을 수 있으며, MethodChannel 은 비동기적으로 동작하므로 await 를 사용한다. - flutter 코드 예제 class _NativeAppState extends State { static cons..

flutter 에서 page 이동시 argument 전달

플러터에서 Navigator를 통해 page를 이동할 때 argument 를 전달하는 기본적인 방법이다. # push method 의 arguments propery 사용 Navigator.of(context).pushNamed(..) Navigator.of(context).pushReplacementNamed(..) Navigator.of(context).pushNamedAndRemoveUntil(..) 위와 같은 Named method 는 arguments 라는 Object? type 의 property 를 가지는데 여기에 전달하고자 하는 데이터를 설정한다. class TestData { var testList = []; var index = 0; } ... { TestData testData = T..

반응형