5 votes

Lenteur du système : Comment désactiver ou court-circuiter tccd dans Mojave ? (ralentit le démarrage des applications et des sous-processus)

Il y a un problème sérieux qui est apparu en particulier dans Mojave et Apple ne semble pas vraiment intéressé par la résolution de ce problème d'après mes discussions avec des ingénieurs au courant. Il se manifeste surtout lors de l'ouverture de certaines applications et de leurs sous-processus (deux exemples sont python y emacs ). Cela ne semblait pas être un problème au départ dans Mojave, mais c'est de pire en pire et ce n'était certainement pas un problème dans High Sierra.

Il semble que ce phénomène soit dû à tccd ( certains discussions (il y a de nombreuses mentions de ces problèmes dans des endroits obscurs) en générant d'une certaine manière des frais généraux supplémentaires qui n'étaient pas présents auparavant dans les versions précédentes du système d'exploitation. Alors qu'Apple peut considérer cela comme acceptable, nous sommes nombreux à nous débattre avec le temps supplémentaire que cela ajoute à la création de processus.

Ce phénomène semble pouvoir être reproduit via n'importe quelle application existant dans l'une des sections des Préférences Système Sécurité et Vie privée.

5voto

Réponse rapide : Vous devez utiliser des profils de configuration qui ne peuvent être déployés que par l'intermédiaire d'un logiciel de gestion des appareils mobiles (MDM) pour désactiver tcc et tcc invites . Malheureusement, TCC est fortement inscrit dans le code de Mojave et ne semble pas près de disparaître. C'est un inconvénient pour les développeurs/ingénieurs/utilisateurs/administrateurs car nous allons tous devoir apprendre à marcher avec TCC. La pression d'Apple pour la sécurité est plus forte que jamais et a été écrite sur le mur pour les administrateurs Mac depuis un certain temps.

Réponse plus longue :

Apple fait pression pour que les entreprises adoptent les flux de travail DEP/MDM pour déployer des machines auprès de leurs utilisateurs : https://support.apple.com/en-us/HT204142

Avec Mac OS Mojave, Apple veut utilisateurs pour valider l'utilisation des programmes qui accèdent à leurs fichiers, d'où les messages TCC des programmes qui veulent y accéder. Quel est le rapport avec votre question ? Eh bien...

Il y a un peu d'espoir pour les entreprises qui gèrent leurs machines avec des solutions DEP/MDM comme JAMF (par exemple). Apple a signalé ce problème et les invites gênantes peut être désactivé en utilisant un MDM et des profils de configuration :

https://support.apple.com/en-au/HT209028

Vous pouvez autoriser les applications à accéder à certains fichiers utilisés pour l'administration du système et aux données de l'application. Par exemple, si une application demande l'accès aux données de votre calendrier, vous pouvez autoriser ou refuser la demande. Les administrateurs MDM peuvent gérer ces demandes à l'aide de la charge utile Privacy Preferences Policy Control, comme indiqué dans le Configuration Profile Reference.

Carl Ashley, administrateur Mac, a également souligné ce point de manière plus détaillée ici : https://carlashley.com/2018/09/28/tcc-round-up/

Vous aurez absolument besoin d'un MDM pour déployer ces profils, car ils ne peuvent pas être déployés directement sur une machine par le biais d'un p Cela signifie qu'il faudra soit un flux de travail d'enrôlement DEP to MDM, soit un MDM approuvé par l'utilisateur (les utilisateurs enrôlent manuellement leur Mac dans le MDM).

Si vous essayez de faire cela avec un Mac non géré et d'installer le profil de configuration sans MDM, cela ira à l'encontre de l'objectif d'utiliser à la fois le MDM et le profil de configuration parce que le profil de configuration invitera l'utilisateur à l'installer dans Préférences Système > Profils.

Exemple : enter image description here

Cela pourrait changer si Apple annonce un nouveau système d'exploitation cet été avec la version 10.15. Pour des raisons inconnues, Apple n'a pas explicitement indiqué aux développeurs la nécessité d'ajouter la chaîne de caractères NSRemindersUsageDescription dans le fichier Info.plist de leurs applications afin d'éviter que celles-ci ne se bloquent.

Il est contre-intuitif pour les développeurs de revenir à Xcode 9, où ce problème a été résolu. ne semble pas se produire contrairement à son successeur Xcode 10. Hoakley l'a également validé lorsqu'il a essayé d'utiliser une ancienne version d'un programme qu'il avait développé avec un Xcode antérieur à la version 10 dans Mojave et qu'il a fonctionné correctement, permettant à la nouvelle version de l'application de demander à l'utilisateur son consentement pour utiliser les fichiers/programmes de l'ordinateur comme prévu.

J'ai ensuite testé une ancienne version de xattred (le programme de Hoakley), et j'ai découvert qu'au lieu de se planter, il produisait le consentement attendu de l'utilisateur. Une fois ajoutée à cette liste, la nouvelle version a cessé de planter et a pu accéder à tous les fichiers protégés de Calendar sans plus aucune boîte de dialogue.

Une fois que l'utilisateur a donné son accord, l'application en question apparaît dans l'une des listes des Préférences système > Sécurité et confidentialité > Confidentialité et généralement sous Accessibilité.

enter image description here

Le bon côté des choses :

Croyez-moi, nous sommes tous, en tant que Macadmins, sur la même longueur d'onde pour ce qui est de se casser la tête sur la table à propos de TCC. Je peux imaginer que c'est bien pire pour l'utilisateur normal qui aime s'aventurer dans le domaine de l'administration. J'espère que nous verrons une meilleure implémentation de TCC dans les prochaines mises à jour de Mac OS.

Si vous souhaitez vous essayer à la création de profils, et si vous disposez d'un MDM, vous pouvez essayer ce qui suit : https://github.com/carlashley/tccprofile

https://github.com/erikberglund/ProfileCreator

J'espère que cette explication vous sera utile en tant que développeur/ingénieur.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X