Flutter
![[Flutter] l10n.yaml 파일 설정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fs1GPm%2FbtsNkILRBv2%2FAAAAAAAAAAAAAAAAAAAAAEBMaFnfIE1mbLAHXFkbyeYEF_df2g7K-x0nt5VzmuLa%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DBVdFk6leCxZby%252FhDPNLVL46gkfc%253D)
[Flutter] l10n.yaml 파일 설정
arb-dir: lib/l10n/arbtemplate-arb-file: app_ko.arboutput-localization-file: app_localizations.dartoutput-dir: lib/l10nsynthetic-package: falsenullable-getter: falseuntranslated-messages-file: l10n_errors.txtno-nullable-getter: trueno-synthetic-package: truepreferred-supported-locales: koformat: trueintl 을 쓰고있다면 다양한 플러그인을 사용하기 좋은데디폴트 설정을 사용하지 않을때l10n.yaml 파일을 작성해서 써야 플러그인도 제대로 작동한다. L10nization :..
[Flutter] nextFocus가 이상한데로 이동할때
TextFormField Focus가 다음으로 넘어갈때 그냥 node.nextFocus() 하거나 textInputAction: TextInputAction.next 를 이용하면 포커스가 아이콘으로 이동해서 매번 삽질을 하게됩니다. BuildContext extension을 만들어서 해결하면 잘됩니다. TextFormField( hintText: "아이디", onEditingComplete: () => context.nextEditableTextFocus(), validator: (value) { return value == null || value.length < 6 ? "아이디를 6 글자 이상으로 해주세요" : null; }, ), extension Utility on BuildContext { vo..

Flutter iOS Fastlane 설정
안드로이드랑 버젼을 맞추기 위해 increment_build_number은 삭제했습니다. http://appleid.apple.com/ 보안>앱암호>앱암호 생성 에서 발급받은 키 설정 .env FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD="xxxx-xxxx-xxxx-xxxx" 패스트래인 설정: 빌드 (빌드 어차피 .ipa로 해야되서 flutter build 해도 다시 돌려야됨) 앱스토어 업로드 완료/에러시 슬랙 Fastfile default_platform(:ios) platform :ios do def on_success() slack( message: "App successfully built", #uploaded to iTunesConnect.", success:..