如何从命令行运行xcode

fee*_*ree 53 macos xcode

我的问题很简单:假设有一个xcode项目a.xcodeproj,我可以用命令打开它xcode a.xcodeproj吗?

如果我尝试这个,我收到以下错误消息:

-bash: xcode: command not found
Run Code Online (Sandbox Code Playgroud)

She*_*tJS 112

Xcode应该是.xcodeproj文件的默认应用程序,所以这应该工作:

$ open a.xcodeproj
Run Code Online (Sandbox Code Playgroud)

如果它打开另一个应用程序,您可以强制它使用xcode:

$ open -a Xcode a.xcodeproj
Run Code Online (Sandbox Code Playgroud)

如果您希望该命令xcode起作用,您可以使用别名:

$ alias xcode="open -a Xcode"
Run Code Online (Sandbox Code Playgroud)

然后你可以xcode a.xcodeproj(并添加此~/.bash_profile)

  • 很棒的解决方案。谢谢@Nirk (2认同)

Gob*_*obe 9

您也可以只xed .在project文件夹中运行,显然如果存在,它将尝试按以下顺序加载项目文件:

  1. xcworkspace
  2. xcodeproj
  3. playground

这意味着您无需验证自己现有的文件即可选择最佳文件来打开。

  • 这应该是新的热门答案 (2认同)

dan*_*ard 5

不记得我在哪里遇到这个脚本,但我使用这个 ruby​​ 脚本在工作目录中查找 a*.xcodeproj或文件并打开该文件(无需 Xcode 打开任何以前的项目)*.xcworkspace

#!/usr/bin/env ruby

# Open xcode without any previous projects being opened as well.
# We first look for a workspace, then a project in the current directory, opening the first that is found.

f = []
f.concat Dir["*.xcworkspace"]
f.concat Dir["*.xcodeproj"]

if f.length > 0
  puts "opening #{f.first}"
  `open -a /Applications/Xcode.app #{f.first} --args -ApplePersistenceIgnoreState YES`
  exit 0
end

puts "No Xcode projects found"
exit 1
Run Code Online (Sandbox Code Playgroud)

  • 你知道我在哪里可以找到可用的`--args`列表来传递给Xcode吗?像“-ApplePersistenceIgnoreState YES”一样? (4认同)

Dhe*_*pta 5

打开终端,然后转到Xcode安装路径。然后,转到“Contents/MacOS”。当您到达此文件夹时,然后输入 - sudo ./Xcode

或者按照以下代码操作:(如果用户有权限问题,可以使用“sudo”)

cd /  
cd Applications
cd Xcode.app
cd Contents/MacOS
sudo ./Xcode
Run Code Online (Sandbox Code Playgroud)