Framework
-
운영 중인 앱에 광고 제거 기능을 요청받아, 광고 제거 상품을 기획했습니다.Flutter 라이브러리 중 in_app_purchase를 사용하여 해당 기능을 구현하였고, 구현 과정 중 상품을 불러오지 못한 상황이 있었습니다.※ 테스트 환경Flutter 3.29.3iOSstorekit failed to get response from platform 상품 조회시 에러가 발생하며 리스트를 받아오지 못했습니다.이 때, 우선적으로 체크할 것은 다음과 같습니다.유료 앱 계약상품 등록 여부App Store Connect 상단 비즈니스 탭을 통해 유료 앱 계약이 활성화되어야 하며, 이 과정을 진행하면서 해당 탭 내의 모든 설정의 상태가 활성화로 변경된 것을 확인해야 합니다. 비즈니스 설정이 끝난 후에는 앱으로 돌아와 ..
[Flutter]in_app_purchase 상품 조회하기 2025. 12. 12. -
지난 글에 이어 생성된 위젯을 변경해보겠습니다.결과물을 먼저 보면 가계부의 지출액과 수입/지출 추가로 이어지는 버튼을 추가해봤습니다. 1. 위젯 커스텀Xcode를 실행하여 위젯 코드를 수정해봅니다. 처음 코드를 보면 SimpleEntry가 존재하는데, 여기에 데이터를 추가로 받기 위해 content 파라미터를 추가합니다.struct SimpleEntry: TimelineEntry { let date: Date let emoji: String let content: String} SimpleEntry를 호출하는 코드에 content 파라미터를 추가합니다.TimelineProvider안에 getSnapshot과 getTimeline은 다음과 같은 상황에 사용됩니다.getSnapshot: 위젯..
[Flutter]홈 위젯 만들기 iOS편 - 2) 위젯 커스텀하기 2025. 6. 22. -
최근 개발한 가계부에 앱에 "위젯 기능이 있으면 좋겠다"는 리뷰가 달렸습니다.위젯 기능은 언젠가 한번쯤 만들어보고 싶었는데 좋은 기회다 싶어 추가해보려 합니다.(여기서 가계부 개발 과정을 확인하실 수 있습니다) ※ 테스트 환경Flutter 3.27.11. 패키지 추가flutter pub add home_widget 2. Widget Extension 추가Xcode를 실행하고 상단 메뉴의 Editor - Add Target 클릭 후 Widget Extension을 추가합니다. 추가 후에 TARTGETS - Runner가 클릭된 상태로 Build Phases 칸으로 이동합니다. Embed Foundation Extensions (1 item) 아이템이 추가되어있는데 드래그앤드롭으로 Embed Framewo..
[Flutter]홈 위젯 만들기 iOS편 - 1) 위젯 추가하기 2025. 6. 11. -
폼 로그인 방식 중 구글 로그인을 위한 예제입니다.지난 소셜 로그인 글과 이어집니다. ※ 테스트 환경Spring BootJDK 1.8GradleThymeleaf1. 구글 설정1. Google Cloud 접속2. 프로젝트 생성새 프로젝트를 생성합니다. 3. OAuth 클라이언트 ID 생성1) 메뉴의 API 및 서비스에서 사용자 인증 정보를 클릭2) 사용자 인증 정보 만들기 - OAuth 클라이언트 ID를 클릭 3) 동의 화면 구성 클릭 4) 시작하기 5) 앱 정보 입력 후 만들기 4. 동의화면 만들기1) OAuth 클라이언트 만들기 클릭 2) 애플리케이션 유형 선택 후 리디렉션 URI 입력 2. 로그인 구현카카오 로그인과 동일하게 클라이언트 ID, 보안키를 통해 서버로 인증 코드를 요청하고, 응답받은 ..
[Spring Boot]구글 로그인 구현 2025. 3. 5. -
최근 공유 가계부 앱을 런칭했습니다.이제 기능을 하나씩 확장 중인데요. 오늘은 다국어 기능을 추가했던 과정을 기록해봤습니다.서비스 중인 앱은 Flutter로 개발되었고, flutter_localizations와 intl 패키지를 이용해 다국어 기능을 구현했습니다. 테스트 환경Flutter 3.27.1intl 패키지는 Flutter에서 다국어(i18n)와 숫자, 날짜, 통화 형식 등의 로컬라이제이션을 지원하는 공식 패키지입니다.flutter_localizations와 함께 사용하면 앱의 언어를 디바이스 설정에 따라 자동 변경할 수도 있고, 앱 내 설정을 통해 수동으로 변경할 수도 있습니다. 1. 패키지 다운로드flutter pub add flutter_localizations --sdk=flutterflu..
[Flutter]다국어 구현 2025. 2. 21. -
최근 모바일앱을 개발하며 Text Editor 기능을 추가하게 되었습니다. 앱에서의 에디터 기능 추가는 처음이었는데, 역시나 라이브러리가 잘 되어 있어 어렵지 않게 만들 수 있었습니다.오늘은 Text Editor로 사용한 flutter_quill 사용법에 대해 알아보겠습니다. ※ 테스트 환경Flutter 3.22.3Dart 3.4.41. 패키지 설치현재 개발 중인 서비스에서는 모바일앱에서 에디터를 통해 글을 작성하게 되면 API를 통해 DB에 저장된 후, 웹 브라우저를 통해 보여지게 됩니다.이러한 구조를 위해 아래 3개의 패키지를 설치합니다.flutter_quill: ^9.1.1vsc_quill_delta_to_html: ^1.0.5flutter_quill_delta_from_html: ^1.3.12fl..
[Flutter]Text Editor 적용하기 2025. 1. 5. -
최근 앱 개발을 하면서 항상 추가해왔던 구글 애드몹(google_mobile_ads)을 추가하던 중 아래와 같은 오류가 발생했습니다..Error (Xcode): Undefined symbols:Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation) 다행히 Github에서도 동일한 오류로 질문이 올라온 것을 확인할 수 있었습니다.Google Mobile Ads가 5.x 버전대로 업데이트되면서, Xcode 15.3 이상으로의 업데이트가 필요한 것으로 확인되었습니다.현재 Xcode 버전은 15.2 버전이었고, 업데이트를 진행했습니다. 이후에 디바이스 에러가 발생했지만 podfile, package 업데이트를 통해 오류가 ..
[Error]Linker command failed with exit code 1 (use -v to see invocation) 2025. 1. 2. -
오늘은 Gradle minify plugins를 이용한 JS, CSS 경량화 방법에 대해 알아보겠습니다. ※ 테스트 환경Spring Boot 2.7.5JDK 11GradleThymeleafGradle minify plugins gradlewebtools는 Gradle 프로젝트에 간단히 추가하여 파일 경량화를 자동화할 수 있는 방법을 제공합니다.현재 프로젝트 구조는 다음과 같습니다..└── src/ ├── main/ │ └── java └── resources/ └── static/ ├── css/ │ ├── common.css │ └── style.css └── scripts/ ..
[Spring Boot]JS, CSS 경량화 2024. 12. 30.