From 6d6f9f08ad9a71087fd59757716900e5872cc7ce Mon Sep 17 00:00:00 2001 From: songyc macbook Date: Mon, 20 Jul 2026 12:47:15 +0900 Subject: [PATCH] fix(mac): localize CFBundleName so Mac menu bar shows proper app name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 실사용 보고: 아이폰·아이패드는 '하루 다님'인데 맥 메뉴 막대는 'Haru_Danim' - 원인: 맥은 CFBundleName을 표시하는데, InfoPlist 카탈로그의 CFBundleName이 원시값 "Haru_Danim"(ko만, shouldTranslate=false)으로 추출돼 있었음 — iOS 홈 화면은 CFBundleDisplayName(정상 현지화)이라 드러나지 않던 값 - 수정: 카탈로그 CFBundleName을 ko '하루 다님' / en·ja 'Haru Danim'으로 교정 (CFBundleDisplayName과 동일 표기), shouldTranslate 플래그 제거 - 베이스 Info.plist의 CFBundleName은 생성기가 PRODUCT_NAME으로 항상 덮어써 교체 불가(클린 빌드로 검증) — 미지원 언어도 개발 언어(ko) 폴백이라 원시값 노출 없음, Info.plist에 주석으로 기록 - 검증: 빌드 산출물 ko/en/ja InfoPlist.strings 값 확인, Debug/Store/맥 빌드 성공 Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014CkLDi8Lr21vGqo4SjZaTp --- myApp/HaruDanim/IOS/Info.plist | 5 + myApp/HaruDanim/IOS/InfoPlist.xcstrings | 135 +++++++++++++----------- 2 files changed, 78 insertions(+), 62 deletions(-) diff --git a/myApp/HaruDanim/IOS/Info.plist b/myApp/HaruDanim/IOS/Info.plist index e0e140b..e5bf930 100644 --- a/myApp/HaruDanim/IOS/Info.plist +++ b/myApp/HaruDanim/IOS/Info.plist @@ -14,5 +14,10 @@ 빌드 업로드 때마다 뜨는 규정 준수 질문을 생략한다 --> ITSAppUsesNonExemptEncryption + + diff --git a/myApp/HaruDanim/IOS/InfoPlist.xcstrings b/myApp/HaruDanim/IOS/InfoPlist.xcstrings index 76375fa..951b9be 100644 --- a/myApp/HaruDanim/IOS/InfoPlist.xcstrings +++ b/myApp/HaruDanim/IOS/InfoPlist.xcstrings @@ -1,89 +1,100 @@ { - "sourceLanguage" : "ko", - "strings" : { - "CFBundleDisplayName" : { - "comment" : "홈 화면에 표시되는 앱 이름", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Haru Danim" + "sourceLanguage": "ko", + "strings": { + "CFBundleDisplayName": { + "comment": "홈 화면에 표시되는 앱 이름", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Haru Danim" } }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "Haru Danim" + "ja": { + "stringUnit": { + "state": "translated", + "value": "Haru Danim" } }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "하루 다님" + "ko": { + "stringUnit": { + "state": "translated", + "value": "하루 다님" } } } }, - "CFBundleName" : { - "comment" : "Bundle name", - "extractionState" : "extracted_with_value", - "localizations" : { - "ko" : { - "stringUnit" : { - "state" : "new", - "value" : "Haru_Danim" - } - } - }, - "shouldTranslate" : false - }, - "NSCalendarsFullAccessUsageDescription" : { - "comment" : "Privacy - Calendars Full Access Usage Description", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Needed to show your calendar events alongside the diary timetable." + "CFBundleName": { + "comment": "Bundle name", + "extractionState": "extracted_with_value", + "localizations": { + "ko": { + "stringUnit": { + "state": "translated", + "value": "하루 다님" } }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "日記のタイムテーブルにカレンダーの予定を一緒に表示するために必要です。" + "en": { + "stringUnit": { + "state": "translated", + "value": "Haru Danim" } }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "일기 타임테이블에 캘린더 일정을 함께 표시하기 위해 필요해요." + "ja": { + "stringUnit": { + "state": "translated", + "value": "Haru Danim" } } } }, - "NSPhotoLibraryAddUsageDescription" : { - "comment" : "이미지 내보내기 → 사진에 저장 권한 문구", - "extractionState" : "manual", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Needed to save exported report images to your photo library." + "NSCalendarsFullAccessUsageDescription": { + "comment": "Privacy - Calendars Full Access Usage Description", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Needed to show your calendar events alongside the diary timetable." } }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "書き出したレポート画像を写真アルバムに保存するために必要です。" + "ja": { + "stringUnit": { + "state": "translated", + "value": "日記のタイムテーブルにカレンダーの予定を一緒に表示するために必要です。" } }, - "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "내보낸 리포트 이미지를 사진 앨범에 저장하기 위해 필요해요." + "ko": { + "stringUnit": { + "state": "translated", + "value": "일기 타임테이블에 캘린더 일정을 함께 표시하기 위해 필요해요." + } + } + } + }, + "NSPhotoLibraryAddUsageDescription": { + "comment": "이미지 내보내기 → 사진에 저장 권한 문구", + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Needed to save exported report images to your photo library." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "書き出したレポート画像を写真アルバムに保存するために必要です。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "내보낸 리포트 이미지를 사진 앨범에 저장하기 위해 필요해요." } } } } }, - "version" : "1.0" + "version": "1.0" } \ No newline at end of file