'나의 매일' 1.2.0 업데이트
·
APP/나의 매일
'나의 매일' 1.2.0 업데이트업데이트 일자: 2024.12.16(월)사용자 여러분의 소중한 피드백을 바탕으로 더 나은 경험을 제공하기 위해 '나의 매일'이 업데이트되었습니다! ✨ 개선 및 추가된 기능AI Prompt 개선: 맥락을 제대로 이해하지 못하거나, 한글로 입력했는데 영어로 요약을 해주는 문제를 해결했어요!AI Prompt 생성 방식 개선: 지금까진 앱을 업데이트 해야 Prompt를 수정할 수 있었는데, 원격으로 수정할 수 있도록 업데이트 했어요!앞으로의 방향이번 업데이트를 통해 앱의 기능성을 대폭 개선했습니다. 여러분의 감정과 하루를 소중히 기록하는 '나의 매일'이 되겠습니다. 앞으로도 많은 피드백 부탁드립니다!👉 감정과 일기를 이어주는, '나의 매일' 다운로드 받기
'나의 매일' 1.1.0 업데이트
·
APP/나의 매일
'나의 매일' 1.1.0 업데이트업데이트 일자: 2024.12.10(화)사용자 여러분의 소중한 피드백을 바탕으로 더 나은 경험을 제공하기 위해 '나의 매일'이 업데이트되었습니다! ✨ 개선 및 추가된 기능초기 화면 변경: 개인 일기가 바로 노출되지 않도록 메인 화면이 캘린더 형태로 개선되었습니다. 감정 이모지 추가: 하루를 요약하는 감정 이모지가 캘린더에 표시됩니다. 월간 감정 흐름을 한눈에 확인하세요!AI 요약 상세 화면 제공: AI가 생성한 요약 내용을 자세히 볼 수 있는 상세 화면을 추가했습니다.로딩 속도 개선: 비동기 처리를 적용하여 더 빠르고 쾌적한 사용 환경을 제공합니다.🔧 성능 개선API 호출 의존도를 줄이고, 로컬 AI 요약 처리를 통해 데이터 로딩 속도가 향상되었습니다.AI 요약 문체를 ..
'나의 매일' 앱 피드백 정리와 개선 방향 (24.12.16)
·
APP/나의 매일
'나의 매일' 앱 피드백 정리와 개선 방향 (24.12.16)안녕하세요, '나의 매일' 앱 개발자입니다. 최근 여러 사용자로부터 받은 소중한 피드백을 정리하고, 이를 반영해 개선 방향을 공유하고자 합니다. 참여자 분들의 익명성을 위해 귀여운 동물 닉네임으로 대체했음을 알려드립니다. 😊피드백개선 완료 된 항목은 취소선으로 표기하였습니다.🐨 코알라님 (FE)피드백:감정 분석 기능을 선택적으로 사용할 수 있는 옵션 제안.앱 이름 "나의 매일"이 평범하다는 의견과 함께 귀여운 브랜딩 강화 제안.일기 내용과 감정 요약이 너무 길어 끝까지 확인하기 어려움상세 화면이 필요하며, AI 코멘트가 짤리는 문제 해결 요청제목 자동 입력 여부 논의(사용자가 제목 입력을 강요받지 않도록)데이터 로딩 속도 개선 필요주요 의견..
개인정보 처리방침
·
APP/나의 매일
개인정보 처리방침최종 수정일: 2024년 12월 18일본 방침은 '개인정보 보호법' 및 관련 법령에 따라 작성되었습니다.1. 개요나의 매일('앱')은 사용자의 프라이버시를 중요하게 생각합니다. 이 개인정보 처리방침은 앱을 통해 수집되는 정보와 그 사용 방법을 설명합니다.2. 수집하는 개인정보 항목앱은 다음과 같은 개인정보를 수집합니다:일기 내용: 사용자가 작성한 일기 텍스트감정 분석 데이터: 일기 내용을 바탕으로 AI가 분석한 감정 데이터앱 사용 기록: 일기 작성 날짜, 수정 날짜 등3. 개인정보의 수집 및 이용 목적수집된 개인정보는 다음 목적으로만 사용됩니다:일기 저장 및 관리 기능 제공AI 기반 감정 분석 서비스 제공앱 기능 개선 및 사용자 경험 향상4. 개인정보의 보유 및 이용 기간일기 내용 및 감..
Fastlane에서 Unauthorized Access 에러 해결: 세션 갱신 방법
·
iOS
iOS 프로젝트의 CI/CD 파이프라인에서 Fastlane의 match 단계 실행 중, 다음과 같은 Unauthorized Access 에러를 겪었습니다:Unauthorized AccessSession loaded from environment variable is not valid. Continuing with normal login.Two-factor Authentication (6 digits code) is enabled for account 'name@gmail.com'이 문제는 Fastlane의 세션 토큰이 만료되었기 때문입니다.아래는 이를 해결하기 위해 Fastlane의 spaceauth 명령어를 사용해 새로운 세션을 갱신한 과정을 공유합니다.문제 원인Fastlane는 Apple Develo..
Swift에서 가독성 높은 Logger 클래스 만들기
·
iOS
Swift에서 기본적으로 제공하는 print() 문은 간단하게 디버깅할 수 있지만, 로그 레벨이나 파일 위치 등 세부 정보를 제공하지 않아 큰 프로젝트에서는 효과적으로 오류를 추적하기 어려운 경우가 많습니다. 특히 여러 개발자들이 협업할 때는 코드 흐름과 오류 발생 위치를 빠르게 파악할 수 있는 체계적인 로그 시스템이 필요합니다.  이 문제를 해결하기 위해, 과거 사이드 프로젝트에서 사용했던 Logger 형식을 수정해 더욱 효율적이고 직관적인 로그 출력을 구현하게 되었습니다. 이번 글에서는 이 Logger 클래스를 단계별로 만들어가며, 로그 레벨, 시간 포맷팅, 파일 위치 등 다양한 정보가 포함된 커스텀 로그 기능을 Swift에서 구현하는 방법을 공유합니다. 목표로그 레벨 지원: 로그의 중요도에 따라 d..
SwiftUI에서 Combine을 활용해서 화면 회전 감지하기
·
iOS/SwiftUI
PoC를 진행하며, iPad에서 가로 및 세로 모드를 모두 지원해야 했고, 이를 위해 디바이스의 방향을 감지하는 기능이 필요했습니다. Combine과 NotificationCenter를 활용하여 회전을 감지하고 화면에 반영하는 방법을 사용했습니다. 목표SwiftUI에서 화면 방향을 일관되게 감지하고 관리할 수 있도록 DeviceManager라는 싱글톤 클래스를 구현합니다. DeviceManager는 앱 전역에서 기기의 화면 회전을 감지하고, 이를 SwiftUI 뷰에서 구독하여 UI를 업데이트할 수 있도록 합니다.1. DeviceManager 싱글톤 클래스 만들기DeviceManager는 화면 회전 상태를 관리하는 @Published 변수를 포함한 싱글톤 객체로, 방향이 바뀔 때마다 UIDevice.cur..
CocoaMQTT의 Starscream 의존성 문제 해결하기 (Privacy를 곁들인)
·
iOS/Library
문제 상황 로우코드 플랫폼에 MQTT를 통한 메시징 기능을 구현하면서 CocoaMQTT 라이브러리를 사용하게 되었습니다. 그런데 CocoaMQTT에서 사용하는 Starscream 라이브러리의 버전(4.0.4)이 낮아 Apple의 최신 프라이버시 정책에 부합하지 않는 문제가 발생했습니다. Starcream의 최신 버전(4.0.8)에 중요한 프라이버시 관련 업데이트가 포함되어 있었기 때문에, CocoaMQTT의 Starscream 의존성을 최신 버전으로 업데이트하는 방법을 찾기로 했습니다. 해결 방법: CocoaMQTT 포크하여 Starscream 의존성 수정하기이 문제를 해결하기 위해 선택한 방법은 CocoaMQTT를 포크해서 의존성을 직접 수정하는 것이었습니다. CocoaMQTT를 포크한 후 의존성을 수..
Swift에서 Data를 객체로 유연하게 변환하기
·
iOS
로우코드 모바일 플랫폼을 개발하다 보면, 서버에서 객체의 타입이 불분명하게(Any) 내려오는 경우가 자주 발생합니다. 이를 위해 유동적인 타입에 대처하기 위한 방법이 필요했습니다. Codable을 사용해 JSON을 Swift 객체로 변환하는 데에도 한계가 생기기 때문에, 이러한 상황을 안정적으로 처리하기 위한 방법을 작성한 글입니다.문제 상황예를 들어 서버에서 다음과 같은 JSON 데이터를 반환했습니다.{ "id": 1, "name": "John Doe", "age": "30", "description": "This is a sample description."}위와 같이 age 필드가 String으로 내려올 때도 있지만, 다음처럼 Int 타입으로 내려올 때도 있습니다.{ "id": 1, "n..
SwiftUI에서 각 탭마다 독립적인 네비게이션 스택 유지하기
·
iOS/SwiftUI
SwiftUI의 TabView는 손쉽게 탭 구조를 만들 수 있게 해주지만, 기본적으로 각 탭의 네비게이션 스택을 독립적으로 유지하지 않습니다. 예를 들어, 첫 번째 탭에서 여러 화면을 이동한 뒤 다른 탭으로 전환했다가 돌아오면 네비게이션 스택이 초기화됩니다. 이 글에서는 UIKit의 UINavigationController를 활용하여 각 탭마다 독립적인 네비게이션 스택을 유지하는 방법을 소개합니다. 이를 통해 사용자가 각 탭에서 스택 상태를 유지하며 화면을 이동할 수 있도록 합니다. 프로젝트 구성MVVM 패턴을 사용하여 프로젝트를 다음과 같이 구성했습니다.YourProject├── Managers│ └── NavigationManager.swift // 각 탭의 UINavigatio..