14
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

Organization

ビルドに利用するxcodeのバージョンを切り替える

jenkinsなどのビルド用サーバーを用意して、xcodeによるビルドを行う場合、時には利用をするxcodeのバージョンを明示的に指定する必要があります。

jenkinsの場合,xcode-pluginとかを利用することでなんとかできる気もしますが、xcode-pluginは設定項目の数が多くむしろ煩雑になる感じがしているので、シェルスクリプトで最低限管理をしています。

その状況下で、xcodeのバージョンを指定する方法ですが、xcode-selectコマンドを利用することも考えられますが実はデメリットや留意事項として

  • xcode-select でxcodeのバージョンを切り替えるにはsudoが必要
  • システム全体に影響を及ぼすので、複数のジョブを走らせている場合、他のジョブに影響が出る可能性がある。

というわけでどうすればいいのかを調べていたら、xcode-select(1)DEVELOPER_DIR環境変数を指定しろって書いてありました。

という訳で、次のディレクトリ構造を作りました。

├── MyApplicationProject
│   ├── src
│   ├── MyApplicationProject.xcodeproj
│   ├── MyApplicationProject.xcworkspace
│   ├── tests
│   ├── Library
│   ├── Podfile
│   ├── Podfile.lock
│   └── Pods
├── README.md
└── XCVERSION

XCVERSIONには利用をするxcodeのバージョンを記入しておきます。そして、ビルドのスクリプトで

export DEVELOPER_DIR=/Applications/Xcode$(cat ${WORKSPACE}/XCVERSION).app/Contents/Developer

としてあげることで、ビルド時に利用をするxcodeのバージョンを切り替えることができました。

まとめ

xcodeのバージョンを切り替えるときは、環境変数DEVELOPER_ENVの変更を検討する。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
14
Help us understand the problem. What are the problem?