Skip to content

Bugfix/#103 - Xcode Cloud 배포 세팅 및 QA 수정 사항 반영 - #120

Merged
dlguszoo merged 26 commits into
developfrom
bugfix/#103
Aug 19, 2026
Merged

Bugfix/#103 - Xcode Cloud 배포 세팅 및 QA 수정 사항 반영#120
dlguszoo merged 26 commits into
developfrom
bugfix/#103

Conversation

@dlguszoo

@dlguszoo dlguszoo commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

✨ What’s this PR?

📌 관련 이슈 (Related Issue)


🧶 주요 변경 내용 (Summary)

배포 인프라 (Xcode Cloud / App Store)

  • Tuist 생성 Xcode 프로젝트 산출물(pbxproj·공유 스킴)을 강제 커밋 + ci_post_clone.shtuist generate 재생성 → Xcode Cloud 스킴 인식
  • App Store 필수 메타: 앱 카테고리(LSApplicationCategoryType), 저작권(NSHumanReadableCopyright), 수출규정 면제(ITSAppUsesNonExemptEncryption=false)

App 메뉴·키보드 단축키

  • 상단 App 메뉴 + 단축키: New Secret ⌘N, New▸(타입별) 서브메뉴, New Project ⇧⌘N, Lock ⌃⌘L, Settings ⌘,, 사이드바 필터 ⌘1–⌘5 등
  • 시크릿 타입별 그리드 우회 "바로 생성" 액션

설정·릴리스 다듬기

  • 테마(Appearance) 설정 추가
  • About: 오픈소스 라이선스 전문 · 지원 링크
  • 설정 상세/행 너비를 창 수치에서 파생(매직넘버 제거)
  • 시크릿 리스트 스크롤 시 헤더
  • Composition·의존성 폴더 구조 정리 + AppLifecycleClient 도입
  • 리스트 선택 스타일을 설정 사이드바와 통일(하이라이트·텍스트 색, mouse-down 즉시 반영)

접근성 · 한국어

  • VoiceOver 접근성 라벨·선택 트레잇 보강
  • macOS 앱별 언어 선택 지원(CFBundleLocalizations en/ko)
  • 한국어 문자열 전체를 합쇼체(~합니다)로 통일

버그·완결성 수정

  • 프로젝트 이름 빈값 저장 방지(
  • 만료 알림: 전체 삭제 시 일괄 취소(cancelAll), 원격(iCloud) 삭제된 secret의 고아 알림을 syncAll reconcile로 정리
  • iCloud 마지막 업데이트 시각 영속화 단일 소스화(중복 기록 제거)
  • iCloud 켜기 토글이 tint 단색 캡슐로 그려지던 렌더 버그 수정

📸 스크린샷 (Optional)


🧪 테스트 / 검증 내역

  • App 메뉴·단축키 동작 확인
  • 테마 / About / 설정 화면 UI 확인
  • 한국어(합쇼체) 표시 + macOS 앱별 언어 전환 확인
  • iCloud 켜기/끄기 토글 + 렌더 정상 확인
  • 만료 알림: 생성/수정/삭제/전체삭제/원격삭제 시 예약·취소 확인
  • 도메인 테스트 추가: 만료 알림 고아 취소·cancelAll·deleteAllData 취소, 사이드바 rename 빈값, 알림 스파이 레이스(NSLock)

💬 기타 공유 사항

  • 한국어 번역: 영어 문자열을 하드코딩 검증하는 일부 테스트가 한국어 로케일에서 실패할 수 있음 → 테스트를 로케일 독립적으로 고치는 후속 작업 필요
  • Xcode Cloud용 Tuist 산출물 커밋: pbxproj·스킴은 CI 스킴 인식용 seed. 로컬에선 각자 tuist generate로 재생성(직접 편집 금지)
  • 만료 알림 reconcile는 앱 실행·설정 변경·iCloud 원격변경 훅(syncAll)에 얹혀 동작 → 원격 삭제 시 ~sync 직후 고아 정리

🙇🏻‍♀️ 리뷰 가이드 (선택)

  • ScheduleSecretExpiryNotificationsUseCaseImplsyncAll reconcile / cancelAll(고아 = pending ∖ 현재 secret 집합)
  • Localizable.xcstrings — 합쇼체 번역 일관성
  • Sources/AppMenu/ — 메뉴·단축키 카탈로그 구조

@dlguszoo dlguszoo linked an issue Aug 18, 2026 that may be closed by this pull request
7 tasks
@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 121 files, which is 21 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0c1cd805-8721-48b9-8e49-6f783c67f7bc

📥 Commits

Reviewing files that changed from the base of the PR and between 616ca8a and dc45f24.

⛔ Files ignored due to path filters (9)
  • Devault.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
  • Projects/DVCore/DVCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
  • Projects/DVData/DVData.xcodeproj/project.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
  • Projects/DVDesign/DVDesign.xcodeproj/project.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
  • Projects/DVDomain/DVDomain.xcodeproj/project.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
  • Projects/DVNetwork/DVNetwork.xcodeproj/project.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
  • Projects/DVPresentation/DVPresentation.xcodeproj/project.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
  • Projects/DVStorage/DVStorage.xcodeproj/project.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
  • Projects/Devault/Devault.xcodeproj/project.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
📒 Files selected for processing (121)
  • Devault.xcworkspace/xcshareddata/xcschemes/Devault-Workspace.xcscheme
  • Devault.xcworkspace/xcshareddata/xcschemes/Generate Project.xcscheme
  • Projects/DVCore/DVCore.xcodeproj/xcshareddata/xcschemes/DVCore.xcscheme
  • Projects/DVData/DVData.xcodeproj/xcshareddata/xcschemes/DVData.xcscheme
  • Projects/DVData/Sources/RepositoryImpl/Settings/SettingsRepositoryImpl.swift
  • Projects/DVData/Sources/RepositoryImpl/Settings/UserDefaultsKey.swift
  • Projects/DVData/Sources/ServiceImpl/Notification/SecurityNotificationServiceImpl.swift
  • Projects/DVDesign/DVDesign.xcodeproj/xcshareddata/xcschemes/DVDesign.xcscheme
  • Projects/DVDesign/DVDesign.xcodeproj/xcshareddata/xcschemes/DVDesignSampleApp.xcscheme
  • Projects/DVDesign/DVDesign.xcodeproj/xcshareddata/xcschemes/DVDesign_DVDesign.xcscheme
  • Projects/DVDesign/SampleApp/Sources/DVVaultContainerPreviewView.swift
  • Projects/DVDesign/Sources/Components/DVCategory.swift
  • Projects/DVDesign/Sources/Components/DVCheckBox.swift
  • Projects/DVDesign/Sources/Components/DVDropdown.swift
  • Projects/DVDesign/Sources/Components/DVMultiSelectDropdown.swift
  • Projects/DVDesign/Sources/Components/DVProjectContainer.swift
  • Projects/DVDesign/Sources/Components/DVTextField.swift
  • Projects/DVDesign/Sources/Components/DVTitleBar.swift
  • Projects/DVDesign/Sources/Components/DVVaultContainer.swift
  • Projects/DVDomain/DVDomain.xcodeproj/xcshareddata/xcschemes/DVDomain.xcscheme
  • Projects/DVDomain/DVDomain.xcodeproj/xcshareddata/xcschemes/DVDomainContentTests.xcscheme
  • Projects/DVDomain/Sources/Repository/Interface/SettingsRepository.swift
  • Projects/DVDomain/Sources/Service/Interface/Notification/SecurityNotificationService.swift
  • Projects/DVDomain/Sources/UseCase/Impl/Notification/ScheduleSecretExpiryNotificationsUseCaseImpl.swift
  • Projects/DVDomain/Sources/UseCase/Impl/Settings/DataSettingsUseCaseImpl.swift
  • Projects/DVDomain/Sources/UseCase/Impl/Settings/GeneralSettingsUseCaseImpl.swift
  • Projects/DVDomain/Sources/UseCase/Interface/Notification/ScheduleSecretExpiryNotificationsUseCase.swift
  • Projects/DVDomain/Sources/UseCase/Interface/Settings/GeneralSettingsUseCase.swift
  • Projects/DVDomain/Tests/Core/Support/FakeSecurityNotificationService.swift
  • Projects/DVDomain/Tests/Core/Support/FakeSettingsRepository.swift
  • Projects/DVDomain/Tests/Core/UseCase/Notification/ScheduleSecretExpiryNotificationsUseCaseImplTests.swift
  • Projects/DVDomain/Tests/Core/UseCase/Settings/DataSettingsUseCaseImplTests.swift
  • Projects/DVDomain/Tests/Core/UseCase/Settings/GeneralSettingsUseCaseImplTests.swift
  • Projects/DVDomain/Tests/Core/UseCase/Settings/NotificationSettingsUseCaseImplTests.swift
  • Projects/DVNetwork/DVNetwork.xcodeproj/xcshareddata/xcschemes/DVNetwork.xcscheme
  • Projects/DVPresentation/DVPresentation.xcodeproj/xcshareddata/xcschemes/DVPresentation.xcscheme
  • Projects/DVPresentation/DVPresentation.xcodeproj/xcshareddata/xcschemes/DVPresentation_DVPresentation.xcscheme
  • Projects/DVPresentation/Resources/Localizable.xcstrings
  • Projects/DVPresentation/Resources/OpenSourceLicenses/ComposableArchitecture-LICENSE.txt
  • Projects/DVPresentation/Resources/OpenSourceLicenses/Lottie-LICENSE.txt
  • Projects/DVPresentation/Sources/AppMenu/AppCommands.swift
  • Projects/DVPresentation/Sources/AppMenu/AppMenuCommand.swift
  • Projects/DVPresentation/Sources/AppMenu/HelpMenuLink.swift
  • Projects/DVPresentation/Sources/Dependencies/App/AppLaunchClient.swift
  • Projects/DVPresentation/Sources/Dependencies/App/AppLifecycleClient.swift
  • Projects/DVPresentation/Sources/Dependencies/App/WindowCaptureBlockerClient.swift
  • Projects/DVPresentation/Sources/Dependencies/Lock/LockClient.swift
  • Projects/DVPresentation/Sources/Dependencies/Onboarding/OnboardingClient.swift
  • Projects/DVPresentation/Sources/Dependencies/Project/ProjectClient.swift
  • Projects/DVPresentation/Sources/Dependencies/Secret/DetectionClient.swift
  • Projects/DVPresentation/Sources/Dependencies/Secret/SecretClient+Preview.swift
  • Projects/DVPresentation/Sources/Dependencies/Secret/SecretClient.swift
  • Projects/DVPresentation/Sources/Dependencies/Secret/SecretManagementClient.swift
  • Projects/DVPresentation/Sources/Dependencies/Settings/GeneralSettingsClient.swift
  • Projects/DVPresentation/Sources/Dependencies/Settings/ICloudSettingsClient.swift
  • Projects/DVPresentation/Sources/Dependencies/Sidebar/SidebarClient.swift
  • Projects/DVPresentation/Sources/Features/AppFeature.swift
  • Projects/DVPresentation/Sources/Features/AppView.swift
  • Projects/DVPresentation/Sources/Features/CreateProject/CreateProjectView.swift
  • Projects/DVPresentation/Sources/Features/CreateSecret/Components/Fields/ExpireDateFieldView.swift
  • Projects/DVPresentation/Sources/Features/CreateSecret/Components/Fields/LabeledTextFieldView.swift
  • Projects/DVPresentation/Sources/Features/CreateSecret/Components/Fields/SSLRequiredFieldView.swift
  • Projects/DVPresentation/Sources/Features/Main/MainFeature.swift
  • Projects/DVPresentation/Sources/Features/SecretDetail/Components/DetailReadOnlyFieldView.swift
  • Projects/DVPresentation/Sources/Features/SecretList/SecretListView.swift
  • Projects/DVPresentation/Sources/Features/SelectSecretType/SelectSecretTypeView.swift
  • Projects/DVPresentation/Sources/Features/Settings/About/AboutSettingsFeature.swift
  • Projects/DVPresentation/Sources/Features/Settings/About/AboutSettingsView.swift
  • Projects/DVPresentation/Sources/Features/Settings/About/Model/OpenSourceLicense.swift
  • Projects/DVPresentation/Sources/Features/Settings/About/OpenSourceLicensesView.swift
  • Projects/DVPresentation/Sources/Features/Settings/Components/SettingsButtonRow.swift
  • Projects/DVPresentation/Sources/Features/Settings/Components/SettingsLinkRow.swift
  • Projects/DVPresentation/Sources/Features/Settings/Components/SettingsPickerRow.swift
  • Projects/DVPresentation/Sources/Features/Settings/Components/SettingsSection.swift
  • Projects/DVPresentation/Sources/Features/Settings/Components/SettingsToggleRow.swift
  • Projects/DVPresentation/Sources/Features/Settings/Components/SettingsValueRow.swift
  • Projects/DVPresentation/Sources/Features/Settings/General/GeneralSettingsFeature.swift
  • Projects/DVPresentation/Sources/Features/Settings/General/GeneralSettingsView.swift
  • Projects/DVPresentation/Sources/Features/Settings/General/Model/AppAppearance.swift
  • Projects/DVPresentation/Sources/Features/Settings/ICloud/ICloudSettingsFeature.swift
  • Projects/DVPresentation/Sources/Features/Settings/ICloud/ICloudSettingsView.swift
  • Projects/DVPresentation/Sources/Features/Settings/SettingsView.swift
  • Projects/DVPresentation/Sources/Features/Settings/Shortcuts/ShortcutsSettingsView.swift
  • Projects/DVPresentation/Sources/Features/Sidebar/SidebarFeature.swift
  • Projects/DVPresentation/Sources/Features/Sidebar/SidebarView.swift
  • Projects/DVPresentation/Sources/Support/LockSheetDismisser.swift
  • Projects/DVPresentation/Sources/Support/WindowLayoutMetrics.swift
  • Projects/DVPresentation/Tests/AppFeatureTests.swift
  • Projects/DVPresentation/Tests/AppMenu/AppMenuCommandTests.swift
  • Projects/DVPresentation/Tests/AppMenu/HelpMenuLinkTests.swift
  • Projects/DVPresentation/Tests/Main/MainFeatureTests.swift
  • Projects/DVPresentation/Tests/Settings/About/AboutSettingsFeatureTests.swift
  • Projects/DVPresentation/Tests/Settings/About/OpenSourceLicenseTests.swift
  • Projects/DVPresentation/Tests/Settings/General/GeneralSettingsFeatureTests.swift
  • Projects/DVPresentation/Tests/Settings/ICloud/ICloudSettingsFeatureTests.swift
  • Projects/DVPresentation/Tests/Sidebar/SidebarFeatureTests.swift
  • Projects/DVStorage/DVStorage.xcodeproj/xcshareddata/xcschemes/DVStorage.xcscheme
  • Projects/Devault/Devault.xcodeproj/xcshareddata/xcschemes/Devault.xcscheme
  • Projects/Devault/Project.swift
  • Projects/Devault/Sources/Composition/AppShell/NotificationDelegate.swift
  • Projects/Devault/Sources/Composition/AppShell/WindowCaptureBlocker.swift
  • Projects/Devault/Sources/Composition/Dependencies/App/AppLaunchClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/App/AppLifecycleClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/App/WindowCaptureBlockerClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/Lock/LockClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/Onboarding/OnboardingClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/Project/ProjectClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/Secret/DetectionClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/Secret/SecretClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/Secret/SecretManagementClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/Settings/DataSettingsClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/Settings/GeneralSettingsClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/Settings/ICloudSettingsClient+Live.swift
  • Projects/Devault/Sources/Composition/Dependencies/Sidebar/SidebarClient+Live.swift
  • Projects/Devault/Sources/Composition/Graph/LiveRepositories.swift
  • Projects/Devault/Sources/Composition/Graph/LiveRepositoryProxies.swift
  • Projects/Devault/Sources/Composition/Graph/LiveServices.swift
  • Projects/Devault/Sources/Composition/Graph/LiveStorage.swift
  • Projects/Devault/Sources/Composition/Graph/LiveUseCases.swift
  • Projects/Devault/Sources/DevaultApp.swift
  • ci_scripts/ci_post_clone.sh

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@dlguszoo dlguszoo self-assigned this Aug 18, 2026
@dlguszoo dlguszoo added 🌏 Deploy 배포 작업 🐞 BugFix 이멀전시! 버그 수정 labels Aug 18, 2026
- 워크스페이스와 8개 모듈의 .xcodeproj·스킴 등 생성물 추적 추가
- Xcode Cloud 배포를 위해 Tuist 산출물을 저장소에 강제 커밋
- ci_post_clone.sh 추가: mise로 핀된 Tuist 설치 후 워크스페이스 생성
- CI 전용 배포 서명(Apple Distribution) 분기와 빌드 번호 주입 추가
- 앱 표시 이름 DeVault, 마케팅 버전·수출 규정(ITSAppUsesNonExemptEncryption) 명시
- Mac App Store가 요구하는 필수 Info.plist 키 누락 보완
- 주 카테고리를 생산성(public.app-category.productivity)으로 설정
- 타입 선택 그리드를 건너뛰고 특정 타입으로 바로 생성하는 createSecretRequested 액션 추가
- 생성 진입 시 조회 중이던 상세를 정리하고 사이드바 선택을 해제해 기존 추가 플로우와 동작 일치
- New Secret(⌘N)·New Project(⇧⌘N)·Settings(⌘,)·Lock(⌃⌘L) 메뉴 커맨드와 단축키 추가
- File ▸ New 서브메뉴로 시크릿 타입별 바로 생성, View ▸ Filters로 사이드바 필터 전환(⌘1–⌘5)
- Help 메뉴에 지원·개인정보처리방침·피드백 링크 추가, 창 탭 메뉴 항목 제거
- Shortcuts 설정 화면을 단일 소스(AppMenuCommand)와 연동
- About 패널·App Store용 저작권 문구(NSHumanReadableCopyright) 지정
- 표준 AES-GCM만 사용하므로
ITSAppUsesNonExemptEncryption을 false(면제)로 변경
- 시스템/라이트/다크 테마 선택을 저장·복원 (SettingsRepository·GeneralSettingsUseCase)
- 일반 설정 화면에 테마 Picker 추가
- License 섹션에 오픈소스 라이선스(TCA MIT·Lottie Apache 2.0) 전문을 앱에 번들해 sheet로 표시
- Support 섹션 추가: 도움말·개인정보처리방침·문의(mailto) 링크
- 매직넘버 656 제거 → windowMinWidth - sidebarWidth(settingsDetailWidth)로 파생
- 설정 detail·행 프리뷰 폭을 이 값으로 통일해 최소 창에서 상세 영역을 꽉 채움
- 헤더 예약 영역을 화면색으로 채워 스크롤 콘텐츠가 타이틀·서치바 뒤로 비치지 않게 함
- 스크롤 인디케이터 위쪽 잘림도 함께 해소
- FakeSecurityNotificationService의 가변 상태를 NSLock으로 보호해 동시 notify 데이터 레이스 크래시 제거
- MainFeatureTests를 사이드바 mode enum 리팩터에 맞춰 갱신
- Dependencies·Composition 파일을 도메인별 폴더(App·Secret·Lock·Sidebar·Onboarding·Project·Graph·AppShell)로 재배치
- AppLifecycleClient(앱 활성/백그라운드 이벤트) 도입 및 AppFeature·AppView 연결
- 폴더 재배치·신규 파일 반영해 생성된 Xcode 프로젝트 갱신
- 아이콘 전용 이미지에 accessibilityHidden 적용해 중복 읽기 방지
- 체크박스·멀티셀렉트 행에 선택 상태(isSelected) 트레잇 추가
- DVTextField(표시/숨김)·DVTitleBar(정렬) 버튼에 VoiceOver 라벨 파라미터 추가 — 호출부가 번역해 주입
- 만료일·SSL·복사/공개·타입 선택 필드와 설정 뷰에 접근성 라벨 보강
- 빈 이름으로 확정 시 알럿을 띄운 뒤 편집을 닫아 원래 이름으로 되돌림 (nameTaken과 달리 보존할 입력이 없음)
- 회귀 방지 테스트 추가
- Info.plist에 CFBundleLocalizations(en, ko) 추가 — macOS 앱별 언어 선택 지원
- 사이드바 필터 타이틀(All/Star/…)을 .module 로컬라이즈 문자열로 전환
- Project.swift 주석 정리
- 프로젝트·시크릿 목록 선택 하이라이트를 vaultGreen 틴트로 통일
- 텍스트를 semantic(.primary/.secondary) 색으로 바꿔 선택 시 mouse-down 즉시 흰색 전환
- DVVaultContainer/DVProjectContainer의 isSelected 파라미터 제거 — 네이티브 선택 상태(backgroundProminence 대신 List 선택) 사용
- 프로젝트 리스트 접힘 클립을 세로 전용 마스크로 바꿔 선택 하이라이트 가로 잘림 방지
- 시크릿 리스트 타이틀 로컬라이즈·정렬 버튼 접근성 라벨 결합
- 미번역 키를 채우고 전체 문체를 합쇼체(~합니다)로 통일
- 전체 삭제 시 예약된 만료 알림도 함께 취소(cancelAll) — deleteAllData에 스케줄러 주입
- syncAll을 reconcile로 확장: 조회에 없는(원격 삭제된) secret의 고아 알림을 pending 차집합으로 취소
- SecurityNotificationService에 pendingIdentifiers 추가(UNUserNotificationCenter pending 조회)
- 고아 취소·cancelAll·reconcile 테스트 추가
- 원격 변경 타임스탬프를 상시 동작하는 AppFeature 핸들러가 단독 영속화하도록 정리
- ICloudSettingsFeature는 표시(state)만 즉시 갱신, 중복 persist 제거
- 죽은 ICloudSettingsClient.setLastUpdateDetectedAt API·와이어링 제거
- 켜는 동안 .disabled가 macOS에서 손잡이 없는 단색 스위치로 그리는 문제
- .disabled 대신 .allowsHitTesting으로 상호작용만 차단 + 흐림으로 진행 표시
- WorkspaceSettings.xcsettings(.gitignore와 모순)·.tuist-generated·IDETemplateMacros.plist를 tracking에서 제거
- 셋 다 tuist generate로 재생성되며 Xcode Cloud 스킴 인식과 무관
- 헤더 템플릿 원본은 Workspace.swift(fileHeaderTemplate)에 유지
- 콘텐츠 커맨드(New Secret/Project/New▸/Filters)를 설정 화면에서 비활성화 — 숨은 상태 오염·설정 닫을 때 엉뚱한 화면 튐 방지
- createSecretRequested가 설정 중이면 no-op, 작성 중 폼이 있으면 덮어쓰지 않고 취소 확인(pendingCreateType로 요청 타입 보존)
- 회귀 방지 테스트 3건 추가
- 모듈별 project.pbxproj 8개를 tracking에서 제거 (스킴·contents.xcworkspacedata는 유지)
- ci_post_clone.sh의 tuist generate가 빌드 전 재생성하므로 커밋 불필요
- PR diff에서 생성물 +7,885줄 제거
@dlguszoo
dlguszoo merged commit a03d5a0 into develop Aug 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐞 BugFix 이멀전시! 버그 수정 🌏 Deploy 배포 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BugFix: 1차 QA 수정사항 반영 - 현주

2 participants