私が開発しているオープン ソースの iOS テスト フレームワークの一部として、特定の SDK を使用してプログラムでシミュレーターを起動したいと考えています。私のフレームワークのユーザーがその正規名で SDK を識別できるようにしたい場合、私のフレームワークはその SDK を使用してシミュレーターを起動します。
知っている:
- 現在インストールされているすべての SDK の正規名を取得する方法:
xcodebuild -showsdks
- 開発者ルートの取得方法:
xcode-select -print-path
. - 最近のバージョンの Xcode が SDK を保存するファイル パス(開発者ルートの下の特定のパス)。
しかし、将来の Xcode のインストールで、SDK が開発者ルートに対して相対的な同じ場所に配置されるかどうかはわかりません。現在、私のテスト フレームワークはこれらのパスについて仮定を行っています。SDK へのフル パスを指定するようにユーザーに要求することもできますが、それよりも使いやすくしたいと考えています。正準名はかなり親しみやすいように見えます (つまり、少なくともツールを介して発見可能です)。
では、特定の SDK 正規名に関連付けられた SDK ルートを特定するための、安定した信頼性の高いプログラム的な方法(Apple 提供のコマンド ライン ツールなど)はありますか?