iOS 10: «[App] si nous sommes dans le vrai gestionnaire de pré-validation, nous ne pouvons pas ajouter de nouvelles clôtures en raison de la restriction de l'autorité de certification»
389
Je reçois parfois ce message dans les journaux de Xcode 8b3 lors de l'exécution de mon application, tout semble fonctionner, mais j'aimerais savoir d'où cela vient. Google n'a pas aidé du tout.
Sachez que je n'obtenais au hasard aucune sortie NSLog sur la console et que je l'ai à nouveau supprimé pour le corriger. Il s'agit davantage de la programmation «haut de gamme» à laquelle sont soumis les goons d'Apple.
amergin
37
Pour ce que cela vaut, j'obtiens ce message chaque fois qu'un changement d'orientation est effectué et que la variable d'environnement OS_ACTIVITY_MODE est désactivée.
user2698617
5
Remarque: en ajoutant cela, vous ne verrez pas non plus NSLogs dans la console.
niravdesai21
4
N'est-ce pas comme désactiver une alarme incendie?
ScottyBlades
191
Il provient de l' +[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]API os_log. Il ne dépend pas des autres composants / frameworks que vous utilisez (uniquement à partir d'UIKit) - il se reproduit dans un projet d'application simple à vue unique en changeant l'orientation de l'interface.
Cette méthode se compose de 2 parties:
ajouter le gestionnaire de pré-engagement passé à la liste des gestionnaires;
faire un travail, cela dépend de l'état actuel de la machine à états finis.
Lorsque la deuxième partie échoue (ressemble à une transition interdite), elle imprime le message ci-dessus dans le journal des erreurs. Cependant, je pense que ce problème n'est pas fatal: il y a 2 cas d'assertion supplémentaires dans cette méthode, ce qui entraînera un crash dans le débogage.
Il semble que le radar soit le meilleur que nous puissions faire.
Pouvez-vous, s'il vous plaît, élaborer sur les outils que vous avez utilisés pour le débogage pour obtenir ce nom de méthode privée et sa structure?
Oleksandr Karaberov
9
@AlexanderKaraberov vous pouvez utiliser Hopper Disassembler pour trouver le texte d'avertissement dans le cadre binaire et les références à ce texte à partir de la méthode privée.
k06a
J'obtiens également cela lorsque le clavier défile et j'ai un contrôleur abonné pour répondre en redimensionnant ses vues.
yo.ian.g
82
Essayez de mettre ce qui suit dans environment variablesle schéma sousrun(debug)
Je l'ai obtenu dans le simulateur lors de la rotation de l'iPhone 7 à l'aide des éléments de menu matériel-> rotation. Cette variable d'environnement a fait disparaître le faux message.
George D Girton,
1
La réponse de @Foo ci-dessous est utile car elle comprend les détails du mode d'emploi.
Kevin Owens
1
Il n'imprime pas non plus le journal d'avertissement de contrainte
chirag shah
36
OP a demandé d'où venait le message. Dire simplement comment la faire taire n'est pas la bonne réponse.
iCaramba
6
La réponse "IOS_ACTIVITY_MODE = disable" désactive TOUT l'enregistrement! Fermez simplement la vue de journalisation si vous ne voulez pas voir le journal. Réponse vraiment ridicule, incroyable qu'elle ait autant de votes! Ne fait rien pour répondre au message réel. Nos applications qui utilisent fortement les données de base fonctionnent bien, ces messages et d'autres ont commencé à apparaître après l'une des dernières mises à jour de Xcode. Dommage qu'Apple ne puisse pas résoudre ce type de problèmes.
John
13
Nous pouvons le couper de cette façon (l'appareil et le simulateur ont besoin de valeurs différentes):
Ajoutez le nom OS_ACTIVITY_MODEet la valeur ${DEBUG_ACTIVITY_MODE}et vérifiez-les (dans Produit -> Schéma -> Modifier le schéma -> Exécuter -> Arguments -> Environnement).
Ajouter un paramètre défini par l'utilisateur DEBUG_ACTIVITY_MODE, puis ajouter Any iOS Simulator SDKpour Debuget définir la valeur de à disable(dans le projet -> Paramètres Build -> + -> Paramètres définis par l' utilisateur)
Cela n'a pas fonctionné pour moi: je vois également cela dans la console, même si j'ai déjà désactivé le mode d'activité de débogage comme suggéré ci-dessus.
Johan
-1
Pour résoudre ce problème, j'ai supprimé l'application de Simulator.
J'ai également couru Clean en premier.
Je ne pense pas que quelque chose lié à l'orientation l'ait déclenché. La plus grande chose qui a changé avant le début de ce symptôme est qu'un framework Swift a commencé à appeler NSLogdes threads de travail au lieu du thread principal.
Faire un nettoyage a bien fonctionné au début pour moi lorsque je l'ai exécuté dans le simulateur sans le faire tourner, mais dès que j'ai testé à nouveau avec une commande de rotation, il a signalé la même erreur.
cheznead le
J'utilise des mouvements de panoramique et n'obtiens cette erreur que lorsque je change d'orientation.
Jeremy Andrews
-8
OS_ACTIVITY_MODE = disable
Cela désactivera également la possibilité de déboguer dans des appareils réels (aucune sortie de console à partir d'appareils réels à partir de là).
willShowViewController
n'est jamais appelé, non ...Réponses:
dans votre Xcode:
la source
Il provient de l'
+[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]
API os_log. Il ne dépend pas des autres composants / frameworks que vous utilisez (uniquement à partir d'UIKit) - il se reproduit dans un projet d'application simple à vue unique en changeant l'orientation de l'interface.Cette méthode se compose de 2 parties:
Lorsque la deuxième partie échoue (ressemble à une transition interdite), elle imprime le message ci-dessus dans le journal des erreurs. Cependant, je pense que ce problème n'est pas fatal: il y a 2 cas d'assertion supplémentaires dans cette méthode, ce qui entraînera un crash dans le débogage.
Il semble que le radar soit le meilleur que nous puissions faire.
la source
Essayez de mettre ce qui suit dans
environment variables
le schéma sousrun(debug)
la source
Nous pouvons le couper de cette façon (l'appareil et le simulateur ont besoin de valeurs différentes):
Ajoutez le nom
OS_ACTIVITY_MODE
et la valeur${DEBUG_ACTIVITY_MODE}
et vérifiez-les (dans Produit -> Schéma -> Modifier le schéma -> Exécuter -> Arguments -> Environnement).Ajouter un paramètre défini par l'utilisateur
DEBUG_ACTIVITY_MODE
, puis ajouterAny iOS Simulator SDK
pourDebug
et définir la valeur de àdisable
(dans le projet -> Paramètres Build -> + -> Paramètres définis par l' utilisateur)la source
Pour résoudre ce problème, j'ai supprimé l'application de Simulator.
J'ai également couru Clean en premier.
Je ne pense pas que quelque chose lié à l'orientation l'ait déclenché. La plus grande chose qui a changé avant le début de ce symptôme est qu'un framework Swift a commencé à appeler
NSLog
des threads de travail au lieu du thread principal.la source
Cela désactivera également la possibilité de déboguer dans des appareils réels (aucune sortie de console à partir d'appareils réels à partir de là).
la source