Comment accepter la licence Xcode?


41

Je souhaite installer une boîte à outils C sur le logiciel MATLAB. Pour ce faire, je dois installer le compilateur GCC. Je pense l'avoir déjà fait. Et j'ai aussi Xcode.

Pour configurer la boîte à outils, je dois écrire mex -setup;dans la fenêtre de commande MATLAB. J'ai l'avertissement suivant et je ne sais pas comment le résoudre:

Avertissement: Xcode est installé mais sa licence n'a pas été acceptée. Exécutez Xcode et acceptez son contrat de licence.

Erreur d'utilisation de mex
Aucun compilateur ou SDK pris en charge n'a été trouvé. Pour les options, visitez le site http://www.mathworks.com/support/compilers/R2014a/maci64 .


Quelle version de Xcode est en jeu ici? Quelle version d'OS X? Les deux sont-ils du Mac App Store?
bmike

Réponses:


76

Dans le terminal:

sudo xcodebuild -license

Ce qui devrait voir / accepter au nom de tous les comptes sur ce Mac particulier.

Dans les versions récentes de Xcode, vous pouvez l’accepter en une étape:

sudo xcodebuild -license accept

1
Courir xcodebuild -licensedepuis la ligne de commande (sans sudo) génère l’erreur Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo., je pense donc que le sudo est nécessaire.
DW

6
Dans les versions récentes de XCode, vous pouvez également utiliser sudo xcodebuild -license acceptpour éviter la saisie manuelle.
Ohad Schneider

2
@OhadSchneider Merci pour le tuyau. Je me demande exactement à quoi cela sert, légalement. Non pas que les gens lisent réellement le ToS, mais le fait que XCode permette de configurer un script pour accepter aveuglément un accord juridique donne l’impression qu’il serait difficile d’appliquer les conditions. en cour.
Andrew Theken

cela devrait être accepté réponse.
Alex Gray

1
Donc, la réponse à ce qui précède, car il existe un bogue de débordement de pile qui m'empêche de le modifier, c'est que Xcode -license accept n'envoie aucun paquet réseau, mais modifie un fichier sur le disque. Vous devrez peut-être accéder à developer.apple.com/account et l’accepter à la place. Ensuite, vous devrez redémarrer Xcode car il ne peut pas comprendre cette solution de canal latéral. Cette danse pleine d'insectes serait hilarante si cela ne me prenait pas plus d'une heure pour le comprendre.
Kristopolous

10

Vous devez démarrer / ouvrir Xcode une fois pour accepter le contrat de licence. Le moyen le plus simple d’exécuter l’application est de cliquer sur l’icône Spotlight en haut à droite et de taper son nom.


1
Je l'ai déjà ouvert. Mais je ne me demandais rien. :( J'ai aussi créé un projet aussi. @Patrix
Electricman

1
@ Electricman Si vous ouvrez un terminal et tapez ces deux commandes, quels sont vos résultats? sudo xcode-select -ret sudo xcode-select --install(et s'il indique que vous devez exécuter la mise à jour de logiciels, vérifiez qu'il n'y a pas de mises à jour Xcode en attente avecsudo softwareupdate -l
bmike

J'ai écrit sudo xcode-select -ret sudo xcode-select --installet une fenêtre est apparue disant the xcode selected command requires the command line developer tools. would u like to install the tools nowavec trois boutons incluant, pas maintenant, obtenir xcode et installer. J'ai donc choisi d'installer Xcode et d'accepter la licence, puis un autre logiciel de recherche ouvert dans une boîte indiquant qu'il est impossible d'installer le logiciel, même s'il n'est pas disponible à partir du serveur de mise à jour logicielle. que devrais-je faire? @bmike En outre, sudo softwareupdate -lne montre rien sur les besoins de xcode pour les mises à jour
Electricman

1
@ Electricman Odd - Cet ordinateur est-il géré par un service informatique d'entreprise? Votre utilisateur de connexion est-il un utilisateur administrateur? Si tel est le cas, je créerais un nouveau compte test administrateur et réexécuterais les commandes Xcode. Il pourrait s’agir simplement de votre utilisateur ou des autorisations sont égarées. Difficile à dire sans s'asseoir devant cet ordinateur. Les commandes devraient vous procurer toutes les autorisations dont vous avez besoin. Dans le pire des cas, installez toutes les mises à jour et réessayez avec le nouvel utilisateur.
bmike

C'est un utilisateur administrateur. J'ai créé un nouveau compte administrateur, mais j'ai aussi une erreur différente. très mauvaise situation @bmike
Electricman

2

Vous pouvez également le faire depuis la ligne de commande sudo xcrun cc


0

Si XCode n'est pas installé sur votre ordinateur, vous pouvez le télécharger depuis Apple Developer ou App Store.

Je devais faire le Clover-Space, taper xcode (qui tirait vers le haut XCode-Beta) et appuyer sur Clover-Enter pour ouvrir l’emplacement du fichier. J'ai trouvé que mon XCode était toujours dans le dossier "Téléchargements".

Je l'ai donc glissé / déposé dans le dossier Applications, puis j'ai lancé: Téléchargez Xcode ou déplacez-le dans votre dossier Applications. Ensuite, ouvrez le terminal et exécutez ces deux commandes. L'un après l'autre.

sudo xcode-select -s /Applications/Xcode-Beta.app/Contents/Developer

sudo xcodebuild -license

Puis espace vers le bas et tapez "accepter"


bret7600, si vous voulez répondre avec votre réponse, créez une nouvelle réponse. Vous avez complètement supprimé le but de ma réponse. Si vous souhaitez modifier la réponse de quelqu'un, ajoutez de la clarté. Ne pas réécrire le tout.
Suamere

Je suppose que [Apple Developer] [1] est censé être un lien?
Tubedogg

@tubedogg Merci, vous devez avoir été coupé dans l'édition.
Suamere

0

Vous devez accepter la licence XCode. Si XCode n'est pas installé / n'a pas besoin de l'application, vous pouvez simplement installer les outils de développement, ce qui complètera également le contrat de licence:

# Install Command Line Tools
xcode-select --install

# Enable command line tools
sudo xcode-select --switch /Library/Developer/CommandLineTools

Source: https://github.com/nodejs/node-gyp/issues/569

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.