it-swarm.com.de

iOS 10: "[App] Wenn wir uns im realen Pre-Commit-Handler befinden, können wir aufgrund von CA-Einschränkungen keine neuen Zäune hinzufügen."

Ich bekomme manchmal diese Meldung in den Protokollen von Xcode 8b3, wenn meine App ausgeführt wird. Alles scheint zu funktionieren, aber ich würde gerne wissen, woher das kommt. Google hat überhaupt nicht geholfen.

388
swalkner

in deinem Xcode:

  • Klicken Sie auf den Namen Ihres aktiven Schemas direkt neben der Schaltfläche Stopp
  • Klicken Sie auf Schema bearbeiten ....
  • wählen Sie unter Ausführen (Debuggen) die Registerkarte Argumente
  • klicken Sie in Umgebungsvariablen auf +
  • variable hinzufügen: OS_ACTIVITY_MODE = deaktivieren

screenshot

285
Ed.

Es kommt von +[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:] über die os_log-API. Es hängt nicht von anderen Komponenten/Frameworks ab, die Sie verwenden (nur von UIKit) - es wird in einem sauberen Single-View-Anwendungsprojekt beim Ändern der Oberflächenorientierung reproduziert.

Diese Methode besteht aus 2 Teilen:

  1. hinzufügen eines übergebenen Precommit-Handlers zur Liste der Handler;
  2. mache etwas Arbeit, die vom aktuellen Zustand der Zustandsmaschine abhängt.

Wenn der zweite Teil fehlschlägt (sieht nach einem verbotenen Übergang aus), wird die obige Meldung im Fehlerprotokoll ausgegeben. Ich denke jedoch, dass dieses Problem nicht schwerwiegend ist: Es gibt 2 zusätzliche Assert-Fälle in dieser Methode, die zum Absturz beim Debuggen führen.

Scheint, dass Radar das Beste ist, was wir tun können.

190
Roman Ermolov

Versuchen Sie, das Folgende in den environment variables für das Schema unter run(debug) einzufügen.

OS_ACTIVITY_MODE = disable
84
Nick Peachey

Wir können es auf diese Weise stumm schalten (Gerät und Simulator benötigen unterschiedliche Werte):

Fügen Sie den Namen OS_ACTIVITY_MODE und den Wert ${DEBUG_ACTIVITY_MODE} hinzu und überprüfen Sie ihn (unter Produkt -> Schema -> Schema bearbeiten -> Ausführen -> Argumente -> Umgebung).

enter image description here

Benutzerdefinierte Einstellung hinzufügen DEBUG_ACTIVITY_MODE, dann Any iOS Simulator SDK für Debug hinzufügen und den Wert auf disable setzen (in Projekt -> Einstellungen erstellen -> + -> Benutzerdefinierte Einstellung) )

enter image description here

16
Igor