From cfa7c6417f63f814db2eb91a168388a5b731ece1 Mon Sep 17 00:00:00 2001 From: hyeseong Date: Wed, 7 Oct 2026 11:19:21 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=84=A4=EC=A0=95=EC=97=90=20=EC=9D=98?= =?UTF-8?q?=EA=B2=AC=20=EB=B3=B4=EB=82=B4=EA=B8=B0=EC=99=80=20=EC=95=B1=20?= =?UTF-8?q?=EA=B3=B5=EC=9C=A0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Paxo/DefaultConfig.swift | 3 +++ Paxo/UI/SettingsView.swift | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/Paxo/DefaultConfig.swift b/Paxo/DefaultConfig.swift index 5d2f77a..d6ccb0d 100644 --- a/Paxo/DefaultConfig.swift +++ b/Paxo/DefaultConfig.swift @@ -17,6 +17,9 @@ enum DefaultConfig { /// 이용약관 — Apple 표준 EULA static let termsOfUseURL = "https://www.apple.com/legal/internet-services/itunes/dev/stdeula/" + /// 출시 후 App Store 앱 페이지 URL을 설정한다. + static let appStoreURL: URL? = nil + /// 바이너리에서 추출 가능한 앱 버전 필터이며 실제 권한은 Apple 로그인 세션으로 검증한다. static let appToken: String = Secrets.appToken } diff --git a/Paxo/UI/SettingsView.swift b/Paxo/UI/SettingsView.swift index 896a6a0..f4c9cd5 100644 --- a/Paxo/UI/SettingsView.swift +++ b/Paxo/UI/SettingsView.swift @@ -160,6 +160,25 @@ struct SettingsView: View { appState.showOnboarding() } } + + Section("지원 및 공유") { + if let feedbackURL { + Link(destination: feedbackURL) { + Label("의견보내기", systemImage: "envelope") + } + } + + if let appStoreURL = DefaultConfig.appStoreURL { + ShareLink(item: appStoreURL) { + Label("앱 공유", systemImage: "square.and.arrow.up") + } + } else { + Button(action: {}) { + Label("앱 공유", systemImage: "square.and.arrow.up") + } + .disabled(true) + } + } } .formStyle(.grouped) .frame(width: 460, height: 660) @@ -174,4 +193,12 @@ struct SettingsView: View { } @State private var showsDeleteConfirmation = false + + private var feedbackURL: URL? { + var components = URLComponents() + components.scheme = "mailto" + components.path = "paxo.app.official@gmail.com" + components.queryItems = [URLQueryItem(name: "subject", value: "Paxo 의견 보내기")] + return components.url + } }