Vier Annahmen des Plans vor jedem Implementierungscode geprüft:
A (SMC): Lüftersteuerung bestätigt — F0md/F1md (klein!) als Auto/Manuell-
Umschalter, F0Tg als Ziel, Grenzen aus F0Mn/F0Mx. SMC-Integer sind
little-endian, nicht big-endian wie im verbreiteten Intel-Beispielcode.
Ladelimit: CHWA/CH0B/CH0C/bfE0/bfF0 existieren auf Mac17,9 nicht.
Key noch nicht identifiziert, deshalb smc-diff.sh für eine
Differenzmessung ohne jeden Schreibzugriff.
B (Media): mediaremote-adapter läuft unter 26.6.1, aus dem Quellcode gebaut.
Liefert vollständige Metadaten inkl. Cover aus Google Chrome — der
Fall, den AppleScript nicht erreicht.
C (Audio): Process Tap + privates Aggregate-Device liefern echte Samples
(469 Callbacks/5 s, 0 stille Puffer). Konflikt gefunden: SoundSource
6.1.1 mit ARK.driver ist bereits installiert.
D (Group): App-Group-Container ist aus einem nicht-sandboxed Prozess erreichbar.
Damit trägt die Sandbox-Entscheidung, die Bridge-App entfällt.
Spikes sind Wegwerfcode zur Verifikation, kein Produktionscode.
37 lines
1001 B
Bash
Executable File
37 lines
1001 B
Bash
Executable File
#!/bin/bash
|
|
# Baut Spike D und signiert ihn mit der App-Group-Entitlement.
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
|
|
|
|
OUT=/tmp/appgroup-probe
|
|
ENT=/tmp/appgroup-probe.entitlements
|
|
IDENTITY="${IDENTITY:-Apple Development: guidoschmit@guidoschmit.com (F586278766)}"
|
|
|
|
cat > "$ENT" <<'PLIST'
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>com.apple.security.application-groups</key>
|
|
<array>
|
|
<string>PP34X97WS3.group.com.scarriffleservices.calendarr</string>
|
|
</array>
|
|
</dict>
|
|
</plist>
|
|
PLIST
|
|
|
|
echo "→ kompiliere"
|
|
xcrun swiftc -O Spikes/appgroup-probe.swift -o "$OUT"
|
|
|
|
echo "→ signiere mit: $IDENTITY"
|
|
codesign --force --options runtime --entitlements "$ENT" --sign "$IDENTITY" "$OUT"
|
|
|
|
echo "→ Signatur:"
|
|
codesign -d --entitlements - "$OUT" 2>&1 | tail -n +2
|
|
|
|
echo
|
|
echo "→ Lauf:"
|
|
"$OUT"
|