2016-11-29 3 views
1

私は大量のobj-cとスウィフトコードを内部に持っています。ProjectName-Swift.hとBridging-Header.hのインポートの再帰

私は、そのクラスがスウィフトコードにアクセスできるようにProjectName-Swift.hをインポートするobj-cクラスを持っています。

今すぐobj-cクラスを迅速に公開して、迅速なコードからアクセスできるようにする必要があります。

問題は、obj-cクラスのプロジェクトのヘッダー名をブリッジする際にインポートが失敗し、obj-cクラスにインポートが記述されているProjectName-Swift.hが見つからないというエラーが発生してビルドが中断されることです。

obj-cクラスからProjectName-Swift.hのインポートを削除することはできません。そのクラスが破損した後です。

どうすればよいですか?

+0

インポートプロジェクト名、スイフト。 hの.mファイル –

+0

私はこのようなインポートを持っています –

+0

Objective-CプロジェクトでSwiftコードを使用するための完全なチュートリアル:http://stackoverflow.com/a/40887287/4488252 –

答えて

1

OK、1つの回答があって、質問をもう一度読んでください。迅速なヘッダのインポートがプロジェクト(必ずしもプロジェクト名)のモジュール名であることを絶対に特定してください:

Apple Documentation: Swift and Objective-C in the Same Project

具体的には、「Objective-Cのにスウィフトのインポート」マークセクションに移動しますそれを読んでください。そして、さらにより具体的に:

  1. ビルド設定の下では、包装に、そのフレームワークのターゲットの設定を定義モジュールが「はい」に設定されていることを確認してください。

  2. インポートスウィフトこの構文を使用して、そのフレームワークターゲット内の任意のObjective-Cの.mファイルにそのフレームワークターゲットからのコードおよび適切な名前に置き換えて:

    #import <ProductName/ProductModuleName-Swift.h>