La prémisse est la suivante :
J'ai une application dont le code a été paramétré pour ne fonctionner que sur les versions 10.4 à 10.9.2 d'OS X. (Quand j'essaie de l'installer, le message "Cette version de ____ est pour Mac OS X 10.4 à 10.9.2."). J'ai effectué la mise à jour vers 10.9.3, et le développeur doit simplement mettre à jour l'application pour corriger cette restriction dans son outil.
Je suis en contact avec le développeur, qui m'a dit qu'il était "trop occupé" pour travailler sur l'application ou publier une mise à jour pour le moment.
J'ai compris que l'application ne fait que lire /System/Library/CoreServices/SystemVersion.plist
pour déterminer la version du système d'exploitation, et j'ai réussi à contourner sa restriction d'installation en modifiant temporairement le fichier à l'aide de este guide. Mais après avoir rétabli les valeurs de la plist en 10.9.3 et redémarré le système pour commencer (avec un peu de chance) à utiliser l'application, j'ai vu qu'elle vérifiait même les éléments suivants SystemVersion.plist
à même exécuter également - et pas seulement pendant l'installation.
J'ai peur que si je continue SystemVersion.plist
à 10.9.2 indéfiniment, cela ruinerait d'autres parties du système comme les mises à jour de l'App Store et autres.
Donc mon idée maintenant, est d'essayer de trouver une méthode ou un outil pour empêcher l'application de pouvoir même lire SystemVersion.plist
entièrement - pensez-y comme une version "système de fichiers" de Petite balance si vous voulez - juste un moyen de créer des règles personnalisées, pour des processus spécifiques, qui interdisent l'accès en lecture et/ou en écriture, à des fichiers/dossiers spécifiques dans le système.
Peut-être que cela provoquerait une erreur et que l'application ne s'exécuterait pas du tout (je pourrais probablement tester cela en déplaçant temporairement le fichier plist vers la Corbeille pendant 30 secondes tout en essayant de l'installer/de l'exécuter) - mais dans tous les cas, je pense que c'est un problème d'installation. vraiment Il est utile de pouvoir disposer d'un tel dispositif pour des raisons de sécurité importantes, tout comme le blocage personnalisé de l'accès au réseau pour les applications dans le cadre de l'initiative de l'Union européenne. Petite balance .
Existe-t-il un outil tiers génial, ou même un outil natif de OS X / Xcode, qui puisse faire cela ? Avez-vous une idée de ce qu'il faudrait faire de toute façon, du point de vue du système et de la programmation ? Le réglage de 'Sharing & Persimmons' pour un fichier dans le Finder me permet de contrôler utilisateur l'accès, mais pas le processus.