Flutter로 작업하다 보면 pubspec.yaml에서 버전만 올리면 알아서 iOS 빌드 버전도 바뀌어야하잖아요?근데 저는 한동안 계속 Xcode 들어가서 수동으로 버전 바꿔줘야했어요..😔뭔가 이상하다 싶어서 파고들어봤더니 원인을 찾았습니다! ㅎ.ㅎ뭐가 문제였나매번 pubspec.yaml에서 version: 1.0.3+25102301 이렇게 바꿔도 iOS 앱 빌드할 때는 버전이 그대로더라고요.결국 Xcode 열어서 FLUTTER_BUILD_NAME이랑 FLUTTER_BUILD_NUMBER를 일일이 수정해야 했습니다.처음엔 Flutter 버그인 줄 알았는데, 알고 보니 제 프로젝트 설정 문제였어요.원인은 하드코딩;ios/Runner.xcodeproj/project.pbxproj 파일을 열어보니까 버전 ..
안녕하세요 토브입니다 ✨ 이번엔 R8 관련 경고를 해결하고이전 버전 대비 설치 크기와 다운로드 시간이 줄어든 걸 보며신나게 다음 배포를 준비했습니다만.. 이번엔 디버그 기호 관련 경고가 거슬리기 시작했습니다 🐛 헤헤.. 문제경고 메세지이 App Bundle 아티팩트 유형은 네이티브 코드를 포함하며 아직 디버그 기호가 업로드되지 않았습니다. 비정상 종료 및 ANR을 더 쉽게 분석하고 디버그할 수 있도록 기호 파일을 업로드하는 것이 좋습니다. 자세히 알아보기 해결일단 프로젝트 폴더에서 아래 경로로 이동해줍니다그럼 이렇게 lib 폴더 안에 폴더가 여러개 있는데 이걸 하나로 압축해줍니다 그리고 앱 번들 자세히 보기 > 다운로드 탭 > 네이티브 디버그 기호를 업로드 해줍니다 업로드해주면~~~~~~~ 그럼 ..
안녕하세요. 토브입니다! 최근 회사에서 2개의 Flutter 프로젝트에 있던 iOS 앱과, 안드로이드 앱을 각각 배포하는데 성공했습니다.후후.. 9월 23일부터 각각 배포를 해야했어서 총 4번의 배포 과정을 거쳤는데요.임상용으로 디자인 된 앱이었기에, Google 과 Apple 에 각각 최대한 많은 설명이 필요하더군요... 😅 이 앱들을 배포하면서 작성했던 내용을 먼저 다루려고 했지만글이 길어질 것 같아서 쓰기도 전에 지치는 이슈가...🥲 일단 이번 글에서는 1.0.3 버전 안드로이드 배포 거절에 대한 조치 과정을 글에 담아볼까 합니다. 오른쪽 경고 알림의 세부정보 보기를 누르면 아래와 같은 페이지를 볼 수 있는데요.맨 마지막에 올린 업데이트가 프로덕션에 배포하기에 부적절하다... 뭐 그런 내용입..
안녕하세요. 토브입니당.오랜만에 글을 쪄보겠습니다...!주제는 바로.. Google Play Console "SafetyNet 사용 경고" 해결하기!부디.. 저와 같은 오류를 겪는 분들께 도움이 되면 좋겠네요... 📱 문제 상황최근 Flutter 프로젝트 앱 배포를 했습니다만,Google Play Console에서 아래와 같은 권장 조치를 발견했습니다.. firebase_auth 버전을 바꿔서 해결했다는데...저희 프로젝트에서는 firebase_auth를 사용하진 않고 있었어요. 🤔 근데 버전이 좀 오래되긴 했네요;🔍 원인 파악1단계: 우리 프로젝트에서 SafetyNet을 사용하고 있다고..?먼저 Firebase App Check가 Play Integrity API 를 사용하도록 설정했는지 알..
최근 이틀 동안 iOS, 안드로이드 환경에서 동일하게 푸시 알림 설정을 보내려고 삽질을 했다...그러다 마주친 4주 전에 올라온 이 강의를 보고 해결되었다...ㅠㅠ 같은 어려움을 겪는 사람들을 위해서 간단히 기록을 남겨본다...🫠(참고로 APNs 설정은 절차가 복잡해서 직접 강의를 보는 걸 추천)반말체로 갑니다~~~~!📌 준비아래의 파일 4가지를 수정하거나 추가할 예정임.iOS 폴더 내AppDelegate.swiftlib 폴더 내main.dartservices/firebase_messaging_service.dart (코드 보기)services/local_notifications_service.dart (코드 보기)🔸 AppDelegate.swiftiOS의 푸시 알림 권한 및 delegate 설..
보호되어 있는 글입니다.
회사에서 API 호출해서 로그인 하는 과정 하고 있는데iOS는 호출 잘 되는데 안드로이드만 계속 '로그인 요청 시작' 여기서 더 진행이 안됐다.Future _login() async { final dio = Dio(); final url = dotenv.env['BASE_URL']; debugPrint('url: $url'); debugPrint('id: ${_idController.text}'); debugPrint('password: ${_passwordController.text}'); debugPrint('로그인 요청 시작'); try { final response = await dio.post( '$url/admin/auth/login'..
Flutter에서 앱을 개발하다 보면 Widget의 라이프사이클을 이해하는 것이 매우 중요하다. Flutter의 Widget은 UI를 구성하는 기본 단위로, Stateful Widget과 Stateless Widget으로 나뉘는데각 Widget은 생성, 업데이트, 제거 등의 과정을 거치며, 이 과정을 라이프사이클이라고 부른다.1. Stateless Widget LifecycleStateless Widget은 상태를 가지지 않는 위젯으로,데이터가 변하지 않는 정적인 UI를 렌더링할 때 사용된다.Create: Widget이 처음 생성될 때 호출build(): UI를 빌드하여 화면에 표시dispose: Widget이 화면에서 제거될 때 호출Stateless Widgetimport 'package:flutter..
Flutter 프로젝트를 생성하면 기본적으로 flutter_lints 라는 의존성이 붙는다.그래서 flutter_lints 와 analysis_options 로 규칙을 정하는 방법에 대해서 글을 써본다. Flutter Lints란?Flutter Lints는 Flutter 애플리케이션, 패키지 및 플러그인에 대한 권장 린트 세트를 제공하여 좋은 코딩 관행을 장려하는 패키지다.이 패키지를 사용하면 코드 품질을 높이고, 팀원 간의 일관된 코딩 스타일을 유지할 수 있다.특히, 린트 규칙을 통해 코드에서 발생할 수 있는 잠재적인 문제를 미리 감지할 수 있다는 점이 큰 장점이다.기본 사용 방법flutter_lints 패키지를 사용하여 기본적인 린트 규칙을 설정하는 방법은 간단하다.먼저, pubspec.yaml 파일..
Dart에서 객체를 생성할 때 사용하는 생성자(Constructor)에 대해 알아보자.왜냐? 대충 유지보수 할 수 있을만큼 읽는거에 익숙해졌는데,기초가 부족하다고 느꼈기 때문이다... 😢 마치 맨땅에 헤딩하듯 Swift를 공부했을 때 처럼...!기본에 충실하면 개발 속도가 나니까 😉 생성자는 클래스의 인스턴스를 만들 때 호출되며, 다양한 방식으로 정의할 수 있다.이번 글에서는 Dart에서 제공하는 여러 가지 생성자 유형을 살펴보고 각각의 특징을 이해해보자.기본 생성자기본 생성자는 클래스의 인스턴스를 생성할 때 호출되는 가장 일반적인 형태의 생성자다.위치 매개변수class Point { final double x; final double y; // 위치 매개변수를 받는 기본 생성자 Point(..
회사에서는 GitLab을 사용하는데, 개발 연습을 위해 GitHub도 함께 사용하려고 한다.근데 기존 SSH 키(id_ed25519)는 GitLab 전용으로 설정되어 있어서,GitHub 용 SSH 키를 새로 생성하고 각각의 키를 등록하고 사용하는 방법을 정리해본다.1️⃣ GitHub용 SSH 키 생성하기GitHub에서 사용할 새로운 SSH 키를 생성한다.ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519_github-t ed25519 : ed25519 암호화 방식 사용-C "your_email@example.com" : GitHub 계정 이메일 입력-f ~/.ssh/id_ed25519_github : GitHub용 SSH 키 파일..
What’s new in Flutter 3.7Material 3 updates, iOS improvements, and much more!medium.com이전 글에서는 Flutter 3.7의 UI 및 성능 개선 내용을 살펴보았다.이번 글에서는 Swift 플러그인 마이그레이션, Bitcode 지원 종료 및 iOS 개발자를 위한 새로운 리소스 등을 소개하겠다.1. Swift 플러그인 마이그레이션(Swift Migration for Plugins)Apple이 Swift 기반 API를 적극 활용하면서, Flutter 플러그인도 Swift로 전환하는 작업이 진행되고 있다.그 일환으로 quick_actions 플러그인이 Objective-C에서 Swift로 마이그레이션되었다.🔹 왜 Swift로 전환해야 할까?A..
- Total
- Today
- Yesterday
- 플러터업데이트
- ios
- 다트문법
- SWIFT
- flutter_lints
- Android
- 오블완
- 개발신입
- 디버그 기호 업로드
- flutter 3.7
- flutter updates
- 16KB지원
- SwiftUI Tutorial
- 오류해결
- swiftmigration
- 권장조치
- flutter3.7
- 플러터 업데이트
- 트러블슈팅
- Play Integrity API
- GooglePlayConsole
- 렌더링최적화
- Sample Apps Tutorials
- 플러터ios애니메이션
- 배포 오류 해결
- 플러터
- flutter
- 플러터네이티브
- analysis_options
- lints
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |