LoginSignup
3
2

More than 5 years have passed since last update.

複数のEmbedded Framework同士が依存関係ある場合にメインターゲットのbuildが失敗する時

Last updated at Posted at 2018-04-04

今回Buildが一発でできない壁にぶつかった

Embedded Frameworkをレイヤーごとに新設して、当該のページをリファクタしながらメインターゲットのボリュームを減らしていった。

なのだけれど、メインターゲットをBuildしようとしても新設したFrameworkがないよーと怒られて失敗する。。
image.png

Schemeを各FrameworkのTargetに変更してBuildしておけば、メインターゲットのBuildは成功するが、Build時間削減名前空間の整理がしたかったから導入したのに、逆にbuild作業が煩雑になる結果に。。。😇

うまく一発でBuildするには?

最初、run scriptで各Frameworkをbuildさせてから..とか思って探したけどそれ系の情報が出てこなかった..

途方に暮れながら、なんとなくBuild SettingとかBuild Phases辺りを見ていて、メインターゲットからはTarget DependenciesとかLink Binary With Librariesに使用するFrame workを設定していた。

image.png

が、Embedded FrameworkではTarget Dependenciesの指定はブランクになっていた👀

image.png

試しにEmbedded Framework同士の依存関係を元に各FrameworkのTarget DependenciesにEmbedded FrameworkのTargetを設定してみた。

その上で、メインターゲットを指定してBuildしたら…

image.png

成功!🎉🎉🎉
(Buildなげーなは言わないの。途中なの。)

まとめ

Embedded Frameworkを複数作成して利用する場合は、Framework同士の依存の関係も設定に反映させる必要があるということでした。

image.png

当然っぽいけど、気づけないとはまる。。信仰心が試されているっ🍎💪

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2