chahinebrini
f318364c7e
fix(protection): gate Family Controls on entitlement + native log viewer
Verifiziert via Build-11-.ipa-Inspektion + Device-Logs:
- com.apple.developer.family-controls FEHLT im signierten Distribution-Build
(Plugin gated korrekt auf REBREAK_ENABLE_FAMILY_CONTROLS — Apple-
Distribution-Approval pending).
- Device-Log beweist: ManagedSettingsAgent-XPC → "error 159 Sandbox
restriction" → NSCocoaErrorDomain:4099. Kein Daemon-/Race-Problem,
Retry zwecklos.
Root-Cause des FC-Bugs: app.config.ts hatte familyControlsEnabled hart
auf true (falscher "approved"-Kommentar) → App bot App-Lock an obwohl
sandbox-blockiert. FAMILY_CONTROLS_AVAILABLE wurde nirgends konsumiert.
Fixes:
- app.config.ts: familyControlsEnabled an REBREAK_ENABLE_FAMILY_CONTROLS
gekoppelt (== Plugin-Gating) → in TestFlight/production false.
- blocker.tsx: iOS App-Lock-Card nur wenn FAMILY_CONTROLS_AVAILABLE.
lockedIn akzeptiert URL-Filter allein wenn FC build-seitig fehlt.
- ProtectionSlide.tsx: Onboarding überspringt den App-Lock-Step (FC)
wenn nicht verfügbar — URL-Filter allein = vollwertiger Schutz.
Native Log-Viewer (für NEFilter-Debug ohne Mac/Console.app):
- Swift: getProtectionLogs/clearProtectionLogs lesen SharedLogStore aus
App-Group-UserDefaults.
- lib/protection.ts wrapper + TS-module-types.
- debug.tsx: ProtectionLogCard (iOS) — native NEFilter/FC-Logs in der
App sichtbar, copy/clear/refresh.
2026-05-20 05:32:06 +02:00
..
2026-05-20 04:49:11 +02:00
2026-05-20 04:49:11 +02:00
2026-05-13 23:23:45 +02:00
2026-05-15 23:37:28 +02:00
2026-05-16 00:44:44 +02:00
2026-05-11 15:43:10 +02:00
2026-05-10 23:59:25 +02:00
2026-05-18 08:06:47 +02:00
2026-05-20 05:32:06 +02:00
2026-05-15 23:31:26 +02:00
2026-05-20 04:49:11 +02:00
2026-05-11 15:43:10 +02:00
2026-05-12 21:47:18 +02:00
2026-05-20 04:49:11 +02:00
2026-05-12 19:41:56 +02:00
2026-05-06 07:13:43 +02:00
2026-05-15 23:31:26 +02:00
2026-05-06 07:13:43 +02:00
2026-05-20 04:49:11 +02:00
2026-05-11 15:43:10 +02:00
2026-05-15 21:16:22 +02:00
2026-05-06 07:13:43 +02:00
2026-05-17 23:59:56 +02:00
2026-05-18 08:06:47 +02:00
2026-05-06 07:13:43 +02:00
2026-05-06 07:13:43 +02:00
2026-05-10 23:59:25 +02:00
2026-05-17 21:58:05 +02:00
2026-05-13 16:15:54 +02:00
2026-05-06 07:13:43 +02:00
2026-05-20 04:49:11 +02:00
2026-05-18 08:06:47 +02:00
2026-05-11 15:43:10 +02:00
2026-05-20 03:51:33 +02:00
2026-05-20 04:49:11 +02:00
2026-05-09 14:51:02 +02:00
2026-05-18 08:06:47 +02:00
2026-05-17 19:05:37 +02:00
2026-05-16 11:24:45 +02:00
2026-05-09 17:54:34 +02:00
2026-05-13 23:23:45 +02:00
2026-05-09 14:51:02 +02:00
2026-05-11 15:43:10 +02:00
2026-05-20 04:49:11 +02:00
2026-05-11 15:43:10 +02:00