アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


Xcode Embedded framework で no such module

iOSプロジェクトでDDDやってみたいと思い、名前空間切れたり、副次的なメリットも多くて色々嬉しいということで embedded frameworkに挑戦してみた。

  • ui
  • domain
  • data
    というembedded framework を作って作業をすすめた。問題もなくいい感じ。
    が、最初は順調に行ってたのだけど、途中からなぜか domain層から import data 記述が no such module エラーをはくようになる。
    また、初めて見るこんなファイルからもエラーが。

module.modulemap

module data.Swift {
    header "data-Swift.h"
}

なぜ突然‥?!と思ってたんだけど、 framework同士の依存関係も明示的に設定してあげないといけない模様。

TARGETS の domainから Build Phases -> Target Dependency でdataフレームワークを追加してあげるとエラーが出なくなった。

それにしても、むしろなぜ今まではこの依存関係を明示していなくても動いていたのかが謎。うーむ。
まぁ問題は解決したのでよしとしよう!

参考リンク

stackoverflow.com