問題タブ [bridging-header]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
83 参照

swift - フレームワーク メソッドのアクセシビリティにおけるブリッジ ヘッダー

Swift で記述されたフレームワークといくつかの Objective-C ファイルがあります。

フレームワークの Swift クラスでのみ、Objective-C メソッドが必要です。対応するインポートをブリッジング ヘッダーに追加すると、メソッドがフレームワークの外で使用できるようになります。

Objective-C コードをインポートすることは可能ですが、アクセシビリティを internal または private として指定することはできますか?

0 投票する
4 に答える
7455 参照

ios - Facebook SDK Swift - 宣言されていない識別子の使用

Use of undeclared identifier使用するすべての Facebook オブジェクトに対して取得しています

このチュートリアルに従ってください: チュートリアル: SWIFT 用の FACEBOOK SDK 4.1.X で共有する方法

しかし、次のエラーがあります。

ここに画像の説明を入力

cocoapods を介して Facebook フレームワークを追加しました。

そして、無事にインストールされました

ここに画像の説明を入力

ブリッジヘッダーを追加しました

ブリッジング ヘッダーが接続されています。

ここに画像の説明を入力

.plist を構成しました

コードは次のとおりです。

0 投票する
0 に答える
184 参照

objective-c - Swift を使用した Cocoapods Obj-C フレームワークが機能しない

cocoapods を使用して、swift プロジェクトに obj-c フレームワークをインストールしました。ブリッジング ヘッダー ファイルに、正常に動作するフレームワークをインポートしました。

ただし、プロジェクトでクラスを使用できないようです

これにより、未解決の識別子を使用しているというエラーが発生します。

私のポッドファイルには use_frameworks! がありますが、クラスを迅速なクラスに直接インポートすることはできません。私のビルド設定でも、pod-config ファイルを使用するように構成を既に設定しています。

プロジェクトに手動で追加し (cocoapods を使用せず)、ブリッジング ヘッダーにインポートすると、フレームワークは正常に動作します。

この問題はココアポッドの問題ですか、それとも何か間違っていますか? これが機能する方法が見つからないようです。どんな助けでも大歓迎です。ありがとう!

0 投票する
1 に答える
1345 参照

swift2 - アプリ拡張機能の作成時にブリッジ ヘッダーが見つからない

アプリのドキュメント プロバイダー アプリ拡張機能を作成しようとすると、アプリ拡張機能を作成した後にプロジェクトを実行しようとすると、このエラーが返されます (他に何も追加せずに作成するだけです)。

エラー: ブリッジ ヘッダー '/myPath/test-Bridging-Header.h' が存在しません

どうやらアプリ拡張機能は正しいパスを検索していません。ブリッジ ヘッダーはすべてのクラスを含むフォルダーにあり、アプリ拡張機能はプロジェクトのルートでそれを探しています。修正はありますか?

0 投票する
1 に答える
221 参照

ios - Swift ベースの単一ビュー iOS アプリの NXOAuth2Client: ライブラリをインポートする方法

シングル ビュー iOS の迅速なアプリでNXOAuth2Clientを使用したいです。したがって、CocoaPods を使用してライブラリをプロジェクトに追加しました。ワークスペースを開くと、プロジェクトが正常にビルドされます。

Objective-C でフォローしているチュートリアルと、ある時点で、AppDelegate.mそれらのチュートリアル:

しかし、私が同じことをしようとすると、AppDelegate.swift常に取得しNo such moduleます。たとえば、私が試してみると:

私は得る:

そのようなモジュールはありません NXOAuth2Client

(私が試しても同じですimport NXOAuth2:)

同じプロジェクトでSwiftとObjective-Cを見ましたが、私の場合はどうすればよいかを理解するのに十分な経験がありません.

ここで私のワークスペース構造: ワークスペース

追加する必要がありBridging-Header.hますか? それがどのように機能し、どこに置くのですか?

0 投票する
1 に答える
134 参照

objective-c - Objective-C ファイルをインポートすると CocoaPod が壊れる

私のセットアップ:

1) Swift 2.0プロジェクトに搭載されているObjective-CクラスのCocoapodが動作

2) 別の Objective-C クラスをインポートしようとすると、ブリッジ ヘッダーを追加すると、Cocoapod によってインポートされたクラスが破損するようです。

Objective-C で記述された Cocoapod を Swift 2.0 プロジェクトに正常にインポートしました。その Cocoapod ではすべてが正常に動作します。それを機能させるために何もする必要はありませんでした。ただ「機能した」だけです。

Cocoapod を使用せずに別の Objective-C クラスをプロジェクトにインポートしようとすると、ブリッジング ヘッダーを追加すると、以前にインポートした Cocoapod が破損するようです。ブリッジ ヘッダーを作成した瞬間、プロジェクトは元の Cocoapod のクラスを認識しなくなります。

新しいブリッジ ヘッダーが Cocoapod の設定を壊していると思われますが、私のプロジェクトで別のブリッジ ヘッダーが見つかりません。どこで問題を探すべきか提案があれば、私は彼らに感謝します.

アップデート

プロンプトでブリッジング ヘッダーを追加せずに 2 番目の非 Cocoapod Objective-C クラスを追加しようとしましたが、同じエラーが発生します。No such module 'CocoaPodClassThatWorkedBefore'

0 投票する
1 に答える
519 参照

objective-c - swiftの代わりに目的のcから同じ名前のクラスを使用する方法

残念ながら、Objective C で定義されたクラス (Class.h、Class.m) と、Swift で同じ名前の別のクラス (Class.swift) があります。

クラスをインポートするブリッジヘッダーがあります

ここで、Objective C からクラスを返すメソッドを作成したいと考えています。Swift の代わりに Objective C クラスを使用することを指定する方法はありますか、またはクラスの名前を変更する必要がありますか?