36 votes

Pourquoi OSX me dit que je ne peux pas ouvrir un document provenant d'un développeur non identifié ?

Je pensais que cette fonction était réservée aux applications et non aux documents.

Il s'agit d'un fichier C# script, et je lui ai demandé de l'ouvrir avec Visual Studio Code. Je peux ouvrir VS Code sans problème, donc il ne semble pas y avoir de problème de permissions.

enter image description here

54voto

Gordon Davisson Points 30215

Cette réponse s'applique si vous configurez l'application pour ce document particulier pas pour tous les documents de ce type (par exemple, en utilisant l'option "Obtenir des informations" sur le document et en modifiant le menu contextuel "Ouvrir avec", mais pas en cliquant sur le bouton "Tout changer").

Il y a deux éléments essentiels ici. Premièrement, si vous configurez un document pour qu'il s'ouvre dans une application particulière, il s'agit en fait d'attacher des métadonnées au fichier (pensez-y comme si vous colliez un post-it sur le fichier) qui indiquent qu'il faut l'ouvrir avec cette application particulière. Deuxièmement, si un document est mis en quarantaine (parce qu'il a été téléchargé depuis Internet, ou créé par une application sandboxée, ou pour d'autres raisons), il est considéré comme non fiable, et la politique de sécurité du gatekeeper sera appliquée à tout ce qui ressemble à un exécutable dans le fichier.

Ces deux fonctionnalités peuvent interagir d'une manière malheureuse : la note "ouvrir avec" est une instruction sur ce qu'il faut faire, et donc (en quelque sorte) un code exécutable, et donc la politique de sécurité du gardien s'y applique (même si vous avez créé la note, elle "fait partie" du fichier non fiable, et donc non fiable). Ainsi, en double-cliquant sur un document (avec des métadonnées "ouvrir avec"), vous pouvez obtenir l'avertissement/l'erreur "application non fiable".

Heureusement, tant que vous souhaitez que tous les fichiers de ce type (.cs dans ce cas) s'ouvrent dans la même application, il existe une solution : dans la fenêtre Info, section Ouvrir avec, sélectionnez l'application souhaitée (par exemple Visual Studio Code), et puis cliquez sur "Modifier tout". . Cette opération supprime les métadonnées du fichier et crée une entrée dans les préférences des services de lancement indiquant que vous préférez que les fichiers de ce type soient ouverts dans cette application. Comme il s'agit désormais d'un paramètre personnel et non plus d'une note jointe à un fichier non fiable, le problème disparaît.

2 votes

Si vous contrôlez-cliquez et sélectionnez "ouvrir" sur le fichier en question, puis acceptez qu'il soit digne de confiance dans le dialogue résultant, je pense qu'il s'ouvrira comme souhaité dans tous les cas futurs car le système lui fera confiance à l'avenir - même si la danse "changer tout" n'a pas été faite.

5 votes

@j-beda Si vous maintenez la touche Option enfoncée après avoir fait apparaître le menu contextuel d'un fichier, l'élément Ouvrir avec devient Toujours ouvrir avec.

0 votes

@PseudoSu a raison. J'ai créé un fichier .xlsx avec LibreOffice et j'ai d'abord fait un simple clic droit - "ouvrir avec", puis j'ai coché "toujours ouvrir avec" dans la nouvelle fenêtre (attention : sous Windows, cela change l'application par défaut pour les autres fichiers aussi !) mais le message "ne peut pas être ouvert parce que..." s'est quand même affiché après. Pour m'en débarrasser, j'ai dû faire un clic droit et choisir "ouvrir toujours avec", puis cliquer sur "ouvrir" dans la boîte de dialogue "êtes-vous sûr".

12voto

Fizker Points 201

Cela est probablement dû au fait que le fichier a été téléchargé sur Internet ; Safari le marque comme étant en quarantaine afin de rendre l'exécution des logiciels malveillants plus difficile.

Vous pouvez tester cela facilement en faisant xattr <file> et vérifier si l'une des lignes de sortie est com.apple.quarantine .

Si c'est le cas, la solution consiste simplement à faire xattr -d com.apple.quarantine <file> . Notez que l'exécution de cette commande pour un fichier qui n'est pas en quarantaine donnera une erreur indiquant que l'attribut n'est pas présent. Il est donc prudent de commencer par cela ; si l'avertissement est donné, cherchez une autre solution.

1 votes

C'est la bonne réponse.

0 votes

C'est - absolument - la bonne réponse !

0 votes

xattr -d n'a pas fonctionné pour moi dans Mojave sur un script Bash. Il ne s'est pas plaint, mais n'a pas non plus supprimé l'attribut. Mais en utilisant -c ("clear") à la place, a travaillé : xattr -c YourFile .

8voto

Graham Miln Points 39606

Le document est probablement marqué comme executable .

Vous devez supprimer le bit exécutable du fichier. Cela n'affecte pas le contenu du fichier, mais uniquement la manière dont il est traité par le système d'exploitation. Vous pouvez le faire avec l'outil de ligne de commande chmod :

chmod -x <path to file>

Fichier marqué comme exécutable

Tous les fichiers exécutables passent par les contrôles de sécurité de MacOS. Comme ce fichier n'est pas un exécutable signé, les contrôles échouent.

Comme il s'agit d'un fichier marqué par erreur comme exécutable, la possibilité de l'ouvrir en contournant les contrôles est désactivée ; il n'y a pas d'exécutable à lancer.

Ce problème est assez courant lors du déplacement de fichiers entre systèmes d'exploitation. Les différences dans l'importance des bits de type de fichier se perdent effectivement dans la traduction.

6voto

Kunal Kumar Points 169

J'ai rencontré ce problème pour tous les fichiers .php.

Cela peut également se produire pour des fichiers ayant d'autres extensions.

Si vous utilisez MacOS High Sierra ou Mojave, il vous suffit de cliquer avec le bouton droit de la souris sur l'un des fichiers > Obtenir des informations > Ouvrir avec (choisissez ici l'application avec laquelle vous souhaitez ouvrir le fichier) > Cliquez sur "Tout modifier".

enter image description here

C'est tout ce que vous devez faire. Maintenant, tous les fichiers avec cette extension s'ouvriront facilement.

0 votes

Ce n'est pas une réponse correcte. La méthode que vous décrivez ici permet d'ouvrir des documents auxquels aucune application n'est associée via LaunchServices, et non des documents ou des applications dont l'ouverture est interdite par le cadre de sécurité de MacOS.

0 votes

@Almo , Non cette méthode n'est pas pour "ouvrir des fichiers qui n'ont pas d'application associée". J'ai écrit cette réponse parce que c'est exactement le problème que les utilisateurs rencontrent et cherchent la solution dans Google. Cette petite astuce aide à résoudre ce qu'ils recherchent exactement.

0 votes

Hum, oui, ça l'est. Votre solution n'a pas aidé mon cas parce que c'était un problème de sécurité, pas un problème de "quelle application ouvrir avec", ce que vous avez fait.

0voto

Rutger_ADD Points 1

Votre Mac vous protège par défaut des "développeurs non identifiés". Par défaut, vous ne pouvez pas exécuter d'applications qui n'ont pas été téléchargées depuis la boutique d'applications. Essayez ceci : ouvrez Préférences->Sécurité et confidentialité->Général, changez "Autoriser les applications téléchargées depuis :" en "N'importe où". Cela devrait empêcher le message de s'afficher.

2 votes

Un fichier .cs n'est pas une application. L'application qui ouvre le fichier est déjà fiable, comme indiqué dans la question. Voir la réponse acceptée.

0 votes

Sauf si c'est une application et que quelqu'un a changé l'extension pour vous inciter à l'ouvrir.

1 votes

Mais si vous changez un .app en quelque chose d'autre, il ne s'ouvrira pas en tant qu'application car le .app est un dossier. Une fois que vous l'avez renommé, il se comporte comme un dossier normal.

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