Xcode パスから clang を実行するツールを作成しています。このツールは /usr/bin/xcode-select を実行することで Xcode の場所を取得しますが、xcode-select を実行する代わりにディスクから直接 Xcode の場所を読み取るように作り直したいと考えています。xcode-select (xcrun へのシンボリック リンク) をデバッグしようとしましたが、Xcode の場所を保存/読み取る方法を見つけることができませんでした (環境またはファイルに保存しますか?)。xcode-select (および xcrun) を実行せずに Xcode の場所を取得する方法を知っている場合は、助けてください! 前もって感謝します!
1577 次
3 に答える
2
dtrussコマンドを使用して、xcode-selectの開いているすべてのシステムコールを出力しました。
dtruss -f -t open xcode-select -print-path
で、/ usr / share / xcode-select / xcode_dir_pathを読み取り、そこからXcodeの場所を取得しようとしていることがわかりました。存在しない場合は、デフォルトのXcodeの場所である/Applications/Xcode.app/を使用します。
于 2013-01-31T11:39:43.623 に答える
2
Xcode 6 の時点で、場所は のシンボリック リンク/var/db/xcode_select_link
です。コマンドを使用して、リンクのターゲットを端末に出力できますreadlink /var/db/xcode_select_link
。リンクがない場合 (たとえば、 を実行xcode-select --reset
した場合)、デフォルトの xcode インストールが使用されます。
于 2015-02-16T01:00:07.013 に答える
2
NSWorkspace を使用すると、次のことができます。
[NSWorkspace sharedWorkspace]fullPathForApplication:@"Xcode"];
/Applications/Xcode.app
デフォルトの場所にインストールされると返されます。
// …or, as I have seen in the documentation, there's also
- (NSURL *)URLForApplicationWithBundleIdentifier:(NSString *)bundleIdentifier
// which returns the URL for the application with the specified identifier.
于 2013-01-30T22:29:52.487 に答える