ios10 - update - 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."




ios 10 update ipad (4)

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.


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.


Um dies zu beheben, habe ich die App aus dem Simulator gelöscht.

Ich lief auch zuerst sauber .

Ich glaube nicht, dass irgendetwas Orientierungsbezogenes es ausgelöst hat. Die größte Änderung vor dem NSLog dieses Symptoms bestand darin, dass ein Swift-Framework NSLog für NSLog anstelle des Hauptthreads NSLog .


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} und überprüfen Sie ihn (in Produkt -> Schema -> Schema bearbeiten -> Ausführen -> Argumente -> Umgebung).

Fügen Sie die benutzerdefinierte Einstellung DEBUG_ACTIVITY_MODE , fügen DEBUG_ACTIVITY_MODE dann Any iOS Simulator SDK for Debug und legen Sie den zu disable Wert fest (in Projekt -> Einstellungen DEBUG_ACTIVITY_MODE -> + -> Benutzerdefinierte Einstellung).


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