93 lines
3.9 KiB
Swift

import SwiftUI
struct HelpView: View {
@Environment(\.dismiss) private var dismiss
var body: some View {
VStack(spacing: 0) {
// Header
HStack {
Text("Hilfe & FAQ")
.font(.title2)
.bold()
Spacer()
Button(action: { dismiss() }) {
Image(systemName: "xmark.circle.fill")
.font(.title2)
.foregroundStyle(.secondary)
.symbolRenderingMode(.hierarchical)
}
.buttonStyle(.plain)
}
.padding(20)
Divider()
// Content
ScrollView {
VStack(alignment: .leading, spacing: 24) {
faqItem(
question: "Was macht Rebreak Magic?",
answer: "Setzt dein iPhone in den \"Supervised Mode\" — den Modus den Schulen/Unternehmen normalerweise nutzen — damit die Rebreak-App nicht löschbar ist und der NEFilter aktiv bleibt."
)
faqItem(
question: "Warum heißt es \"Magic\"?",
answer: "Normalerweise muss ein iPhone **komplett zurückgesetzt** werden um es zu supervisen (alle Daten weg, Werks-Setup, Apple-Configurator-Kabel-Pairing). Rebreak Magic macht das **ohne Reset** — deine Fotos, Apps, Settings bleiben. Das ist in der Branche unüblich."
)
faqItem(
question: "Wie funktioniert das?",
answer: "Über einen technischen Trick (`supervise-magic`): Ein kleines Konfigurations-File wird in die iOS-System-Settings injiziert während das iPhone via USB verbunden ist. Nach einem Reboot ist es supervised."
)
faqItem(
question: "Ist das sicher?",
answer: "Ja. Es nutzt Apple-offizielle MDM-APIs (gleiche wie Schul-iPads). Es installiert nichts Apple-Fremdes. Die Supervision kann jederzeit aufgehoben werden (Settings → Allgemein → VPN & Geräteverwaltung → Profile entfernen → Reboot)."
)
faqItem(
question: "Was bedeutet das für mich?",
answer: """
• Die Rebreak-App ist nicht mehr per \"App wackelt → X tippen\" löschbar
• Der NEFilter (Gambling-Domain-Blocker) lässt sich nicht in den Settings ausschalten
• Du brauchst die Rebreak-Vertrauensperson um die Bindung zu lösen
"""
)
faqItem(
question: "Kann ich das rückgängig machen?",
answer: "Ja, aber mit Absicht — nicht im Affekt. Siehe Rebreak-App → Settings → Trustee-Override (7-Tage-Cooldown)."
)
faqItem(
question: "Welche Daten sieht Rebreak?",
answer: "Nur dass dein Device supervised IST + an unseren MDM-Server enrollt. Keine Inhalte, keine Browsing-History, keine Telemetrie über deine Nutzung."
)
}
.padding(20)
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
.frame(width: 560, height: 600)
}
@ViewBuilder
private func faqItem(question: String, answer: String) -> some View {
VStack(alignment: .leading, spacing: 8) {
Text(question)
.font(.headline)
.foregroundStyle(.primary)
Text(answer)
.font(.body)
.foregroundStyle(.secondary)
.fixedSize(horizontal: false, vertical: true)
}
}
}
#Preview {
HelpView()
}