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 :
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é.
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.