21

X コードがブリッジ ヘッダーを自動的に作成しようとすると、毎回クラッシュするため、ブリッジ ヘッダーを手動で作成する方法の指示に従いました。(.h ファイルを作成し、<#PROJECT_NAME>-Bridging-Header.h という名前を付けて、必要なすべての .h ファイルをインポートしますか?)

問題は、そのヘッダーに含まれている .swift ファイルでクラスをインスタンス化しようとすると、何も起こらないことです (クラスが存在しないと表示されます)。それらを含めようとすると、何かが適切にリンクされていないと信じるようになります。

誰かがこれに遭遇しましたか?誰もそれを修正する方法を知っていますか?

4

5 に答える 5

74

ターゲットのビルド設定に追加する必要があります。

  1. Xcode で、ターゲットのビルド設定に入り、一番下までスクロールすると、「Swift コンパイラ - コード生成」セクションが見つかります。

  2. 「Objective-C ブリッジング ヘッダー」を<#PROJECT_NAME>-Bridging-Header.h

  3. 「Install Objective-C Compatibility Header」の正しい値はわかりませんが、はい/いいえなので、最初に機能しない場合は切り替えることができます。

于 2014-06-08T02:16:05.910 に答える
8

自分でブリッジ ヘッダーを作成しようとしましたが、何らかの理由で Xcode が気に入らなかったのです。そこで、カスタム ファイルを削除し、Obj C ファイルをインポートして、Xcode にカスタム ファイルを作成するかどうか尋ねさせました。

はいをクリックすると、うまくいきました!

于 2014-06-08T03:24:12.280 に答える
4

1) 「FMDB-Bridging-Header.h」というファイルを作成します

このファイル内に次のように入力します: #import "FMDB.h"

3) Build Settings -> Swift Compiler - Code Generation - 'Objective-C Bridging Header' に追加: FMDB-Bridging-Header.h

または、プロジェクトのフォルダー内に配置されている場合:

FolderName/FMDB-Bridging-Header.h

于 2015-03-12T07:26:49.407 に答える
1
  1. 「[your-project-name]-Bridging-Header.h」という名前のヘッダー ファイルをプロジェクトに追加します。

  1. Build Settings > Build Options に移動し、「Embedded Content Contains Swift Code」を「Yes」に設定します。 ここに画像の説明を入力

  2. Build Settings > Linking に移動し、「@executable_path/Frameworks」を Runpath Search Paths に追加します。 ここに画像の説明を入力

今すぐプロジェクトをビルドしてください!

于 2015-08-15T12:00:26.987 に答える
0

Swift Compilerビルドキー「Objective-C Bridging Header」の文字列値に「MyProject/MyProject-Bridging-Header.h」のように、ブリッジヘッダーの名前をプロジェクトルートで設定するのに役立ちます

于 2015-01-24T20:06:37.203 に答える