我的问题非常简单:假设有一个名为 a.xcodeproj 的 xcode 项目,我能否使用以下命令打开它:xcode a.xcodeproj
?
如果我尝试这样做,会收到以下错误信息:
-bash: xcode: command not found
Xcode应该是.xcodeproj文件的默认应用程序,因此应该可以这样操作:
$ open a.xcodeproj
如果打开的是其他应用程序,你可以强制其使用Xcode:
$ open -a Xcode a.xcodeproj
如果你想让命令xcode
正常工作,你可以给它创建一个别名:$ alias xcode="open -a Xcode"
那么你只需要执行 xcode a.xcodeproj
(并将其添加到 ~/.bash_profile
)即可。
open
命令不会遵循使用 xcode-select
更改工具链的设置,因此如果您使用多个 Xcode 版本,则可能会遇到问题。建议使用 xed a.xcworkspace
命令来代替。 - teki你也可以直接在项目的根目录下运行xed .
,它似乎会尝试以分层方式加载项目,即首先存在的文件:
xcworkspace
xcodeproj
playground
这意味着您不需要验证现有文件结构以选择要打开的最佳文件。
我不记得在哪里找到这个脚本,但我使用这个ruby脚本来查找工作目录中的*.xcodeproj
或*.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
打开终端,然后进入Xcode安装的路径。然后,进入其"Contents/MacOS"文件夹。当你到达这个文件夹时,输入-sudo ./Xcode。
或者你可以按照以下代码操作:(如果用户有权限问题,可以使用"sudo")
cd /
cd Applications
cd Xcode.app
cd Contents/MacOS
sudo ./Xcode
open a.xcodeproj
我刚刚输入了 open *xcw*
命令。这个命令会在当前目录中查找一个工作区,然后使用 Xcode 打开它。
如果你想从工作区打开Xcode项目,请使用以下命令行。
注意:保留HTML标记。
user$ open -a xcode ProjectName.xcworkspace/
我在我的.zshrc
文件中有几个函数可以实现你要找的功能:
cap () { tee /tmp/capture.out; }
ret () { cat /tmp/capture.out; }
x () {
# Substitute .xcworkspace with .xcodeproj for your case.
find . -type d -name "*.xcworkspace" -d 1 | cap
xed "$(ret)"
}
然后,从与您的*.xcodeproj
相同的目录中,只需执行x
即可,例如:
$ x
oxc
。未来的读者可能会发现它很有用。 - Jason McCreary