2017-07-11 1 views
1

スウィフトアプリケーションに供給混合スウィフトとObjective-Cフレームワークを閉じ:Objective-Cとフレームワーク内部のSwiftから。私は混合のObjective-Cとスイフトで書かれた単一のAPIクラスを有するスウィフトフレームワークを作成

マイmodulemapファイルが複数のObjecive-Cファイルをインポート:Objective-Cのアプリケーションフレームワークを統合する場合

module PrivateIncludes { 
    header "./ObjcClassA.h" 
    header "./ObjcClassB.h" 
    ... 
} 

、すべてが期待どおりに動作しています。私はフレームワークをインポートし、問題なく使用します:

@import MyFramework; 

[FrameworkApi setupWithApiKey:@""]; 

これは期待どおりに動作します。

import MyFramework 

コンパイラは文句:

ObjcClassA.h:10:9: 'ObjcClassB.h' file not found 

ObjcClassAObjcClassBを使用していますのでスウィフトコードからフレームワークをインポートしようとしている一方

、。すべてのヘッダーを公開して(私がしたくない)、ヘッダーフォルダにコピーすることは役に立ちません。

私は何かが不足しているようです。

答えて

1

私はあなたのプロジェクトにブリッジヘッダーを追加し、そこにObjcClassB.hをインポートする必要があると信じています。 この文書を見てください - https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html

+0

これらのヘッダーは公開されていません(公開するべきではありません)。外部に公開する場合でも、フレームワークの傘のヘッダーに追加する必要があります。このヘッダーは、アプリケーションのヘッダーに追加する必要があります。残念ながら、これは役に立ちませんが、これらのヘッダーはまだ見つかりません。 – UrK

関連する問題