如何接受Xcode许可协议?

20
我一直在网上搜索如何接受Xcode以便在MAC上重新编译MATLAB Windows文件,但我没有找到任何相关答案。
我在MATLAB中收到的错误信息是:
Xcode已安装,但其许可证尚未被接受。运行Xcode并接受其许可协议。
我已经通过终端命令sudo xcodebuild -license然后-q然后同意接受了它的许可证,但我仍然收到相同的错误信息。我在首次打开应用程序时也接受了许可证。
有人知道如何解决这个问题吗?
Xcode版本为6.4,Matlab版本为R2015a。

2
所以我假设你是从命令行运行的?如果是这样,请启动Xcode应用程序并接受许可证。 - trojanfoe
9个回答

24
您可以使用以下命令来直接接受许可证:
sudo xcodebuild -license accept

5
当运行此命令时,我得到了xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance错误信息。 - Ben
1
尝试设置它:sudo xcode-select -s /Applications/Xcode.app/Contents/Developer - legends2k

4
如果您正在使用命令行,则需要通过输入space来查看完整的许可证,直到您看到以下内容:

通过输入'agree',表示您同意软件许可协议条款。键入“print”以打印它们,或键入其他任何内容以取消,[agree,print,cancel]

键入“agree”,然后按return
或者,只需双击Xcode图标启动Xcode,并在出现许可协议时接受它。
针对新信息进行更新:
似乎这可能是MATLAB问题。您正在运行哪个版本的Xcode?请与MATLAB联系以查看是否支持该版本。

4

只需在终端中输入sudo xcodebuild -license,然后按q退出, 接着输入agree即可。

注意:Xcode的名称应为Xocde,而不是像Xcode 8.2等。


我在我的MacBook上没有管理员访问权限。我该怎么办? - user2891129

3
如果您只安装了命令行工具(不需要完整版Xcode),上述内容都无效。请按照我的这里的方法运行以下命令,以欺骗mex看到已接受的许可证(无需sudo)。在此,我使用的是撰写时的当前版本13.0,请根据实际情况进行调整。
defaults write com.apple.dt.Xcode IDEXcodeVersionForAgreedToGMLicense 13.0

这对我有用,谢谢您的发布!我只想为未来的读者澄清,版本号是Xcode的版本,而不是许可证或其他任何内容。但我认为版本对Matlab并不重要。 - mhopeng

1
你可以尝试启用命令行工具,这应该有助于防止许可证接受问题:
# Install Command Line Tools
xcode-select --install

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

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


1

提示 - 如果您曾经安装过测试版,然后将其删除,再安装常规版本的Xcode,则许可证文件仍将与测试版关联。这就是我的情况,因为我继续收到有关未接受许可证的警告。要解决此问题,您需要删除Xcode许可证文件,然后在终端中运行上面的命令。

导航到 /Library/Preferences/

删除文件 com.app.dt.Xcode.plist

然后在终端中输入 sudo xcodebuild -license accept

然后在Matlab中输入 mex -setup

这对我有用!请注意,Mathworks支持团队向我提供了通过删除plist文件的方法。与Xcode的测试版安装相关的问题已经存在。


0
对于非命令行解决方案,您可以打开Xcode并点击“同意”,或者您也可以在终端中输入“sudo xcodebuild -license accept”。

enter image description here


0

对我有用的方法是删除文件:Library/Preferences/com.apple.dt.Xcode.plist,然后在终端中运行'sudo xcodebuild -license accept'

我同意的第一个Xcode许可证是测试版许可证。因此,该文件中的条目仍然被命名为...beta...,这似乎导致了错误。通过运行'sudo xcodebuild -license accept',将创建一个与Matlab兼容的新文件(前提是您没有使用测试版Xcode版本)。

我还下载了最新版本的命令行工具,但我不知道是否必要。

希望我能帮到你。


0
这是关于编程的内容。这是来自2021年,使用Mac Big Sur版本11.0.1和Xcode-beta。我的问题是Macports安装需要在终端中同意Xcode许可协议:sudo xcodebuild -license,但该命令返回了xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance。我找到了一个Stack Overflow问题,提到了如何重置xcode-select,对于我的情况是sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer。然后我使用sudo xcodebuild -license,浏览了许可证并接受了它(通过应用程序,我从未有过接受选项)。另一个帮助我的Stack Overflow问题是xcode-select active developer directory error

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接