Xcode で could not build Objective-C module エラーが発生する

プログラミングで出逢った出来事

Xcode 6.1.1 で Swift で書いた Cocoa Framework をビルドしたところ could not build Objective-C module エラーが発生したので、その原因と対処方法を調べてみました。

Xcode で could not build Objective-C module エラーが発生する

Swift で書いていた Cocoa Framework プロジェクトを Xcode 6.1.1 でビルドしたところ、次のエラーが発生しました。

<unknown>:0: error: could not build Objective-C module 'ESFoundation'

このエラーは Cocoa touch Framework でも発生して、自分の環境ではBuild Settings のProduct Name 設定を既定値から変更していた場合にだけ発生する様子でした。

ちなみにProduct Name 設定の既定値は $(TARGET_NAME) です。

エラーの原因と対処方法

原因

エラーの原因を調べてみると、どうやらプロジェクト内に登録されていたヘッダーファイルが次の条件だったときに発生する様子でした。

上記の条件に一致しても普通のビルドではエラーにならず、クリーンビルドしたときに始めてこのエラーが発生する場合があるようです。

対処方法

このエラーを回避するには、ヘッダーファイルのTarget Membership 設定を "Private" か "Public" に変更するか、そもそもチェックを外して Framework に含めないようにします。

そうすることで、今回のエラーは発生しなくなるようでした。