Xcode meldete beim Start "Could not attach to pid — ensure that scarriffle has permission to debug Onyx". Ursache war mein eigener Build-Schritt: er signierte die App mit Onyx.entitlements neu, und darin fehlt get-task-allow — die Entitlement, die das Anhängen eines Debuggers überhaupt erlaubt. Xcode setzt sie im Debug-Build selbst; mein Neusignieren entfernte sie stillschweigend wieder. Die Reihenfolge im Bauprotokoll zeigt, dass der Schritt gar nicht nötig war: CodeSign OnyxHelper (Zeile 943) PhaseScriptExecution (Zeile 1092) CodeSign Onyx.app (Zeile 1743) Xcode signiert die App als Letztes, nach dem Skript. Damit repariert es das Siegel von selbst, das durch das Einbetten des Helfers bricht — mein Neusignieren war ein Nachbau von etwas, das ohnehin passiert, nur ohne die Entitlements, die Xcode beilegt. Der Schritt kopiert jetzt nur noch und signiert ausschließlich den Helfer, der sein eigenes Siegel braucht. Nachgeprüft: App-Siegel gültig, get-task-allow im Debug vorhanden, Helfer trägt den richtigen Bezeichner und weiterhin keine Entitlements. Dass get-task-allow auch im Release-Build steht, ist kein Fehler: Xcode legt sie bei jedem mit einem Development-Zertifikat signierten Build bei. Mit einem Developer-ID-Zertifikat entfällt sie — das kommt in Phase 9 mit der Notarisierung.
27 KiB
27 KiB