2017-11-06 9 views
0

Objective CとSwiftコードを混在させたiOSフレームワークを開発しています。ビルドは#import "Example-Swift.h"の行で'Example-Swift.h' file not foundと失敗します。例 - Swift.hが見つかりません

ヘッダファイルが生成されますない、私はでそれを見つけることができます:私は、スタックオーバーフローのupvotedソリューションのすべてを試した

DerivedData/Example/Build/Products/Debug-iphonesimulator/Example.framework/Headers/Example-Swift.h

、どれも働きました。唯一の修正点は、ビルド設定でディレクトリを手動でUser Header Search Pathsに追加することです。

他の人がヘッダパスを手動で追加する必要がない場合は、何か間違っている必要があります。また、このフレームワークのユーザーがポッドとしてそれを含む場合、私は本当に避けたいビルドの設定を更新する必要があります。

だから、醜いハックではないこの解決策がありますか?私はXCode 9.0.1を使用しています。私はXcode/iOSが正常なビルドシステムを持っていたらいいのに... Linux/Androidから来て、私はiOSエコシステムについて多くのことが好きですが、ビルドシステムはばかげています。

答えて

2

この問題は、Objective-C/Swiftのフレームワークが混在していることがわかりました。私の解決策は、モジュール名をインクルードのディレクトリ部分として含めることでした。あなたのケースでは、

#import "Example/Example-Swift.h" 

代わりの

#import "Example-Swift.h" 

これは実際にターゲット同じ枠組みの中からコードのインポートサブセクションがhttps://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.htmlでのObjective-Cにスウィフトのインポートに記載されていますでしょう

+0

これは素晴らしい、それを修正しました。 – fhucho

関連する問題