指示に従って、ブリッジ ヘッダーを作成し、プロジェクトに追加しました。残念ながら、次のエラーが発生しました。
:0: エラー: Objective-C ヘッダー '---path--to---header/....h' をインポートできませんでした
ビルド設定で、ブリッジ ヘッダーの場所にヘッダー検索パス文字列を追加しましたが、何も役に立ちませんでした。
誰もこの問題を経験しましたか?
指示に従って、ブリッジ ヘッダーを作成し、プロジェクトに追加しました。残念ながら、次のエラーが発生しました。
:0: エラー: Objective-C ヘッダー '---path--to---header/....h' をインポートできませんでした
ビルド設定で、ブリッジ ヘッダーの場所にヘッダー検索パス文字列を追加しましたが、何も役に立ちませんでした。
誰もこの問題を経験しましたか?
エラーが発生しているフォルダーにファイルを追加するように注意してください。Xcode からファイルを作成すると、次のフォルダーに移動します: Project->Project->Header.h
Xcode は Project->Header.h を探しています。
つまり、ファイルをプロジェクト フォルダー (ProjectName->ProjectNameFolder) 内に配置する必要があります。
それが役立つことを願っています;)
更新: あなたの言いたいことが理解できたかどうかわかりませんが、問題を解決するためにこれを試してください:
1. これまでに作成したすべてのブリッジング ファイルを削除します。
2. プロジェクトのメイン フォルダを選択し、[新しいファイル] -> [iOS] -> [ヘッダー ファイル] をクリックします。
3. 作成したヘッダー ファイルにインポートを書き込みます。
4. Xcode->Build Settings 内のプロジェクトを選択し、検索フィールドに「bridging」と入力し、キー SWIFT_OBJC_BRIDGING_HEADER にヘッダー ファイルの名前またはそのパスを入力します。
この手順に従うと、ヘッダー ファイルが正しい場所に作成されます。
:D お役に立てば幸いです!
これはおそらくごく一部の人にしか影響しませんが、私の場合、私のプロジェクトは CocoaPods を使用しており、それらのポッドの 1 つに独自の CocoaPods を持つサブ仕様がありました。解決策は、フル アングル インポートを使用してサブポッド内のファイルを参照することでした。
#import <HexColors/HexColor.h>
それよりも
#import "HexColor.h"
「ブリッジングヘッダーにリストしているヘッダーファイルを探す場所をXcodeに伝える必要があります。検索パスセクションを見つけて、ユーザーヘッダー検索パスのプロジェクトレベルの設定を変更し、「ポッド」の再帰エントリを追加しますディレクトリ: Pods/ ** " http://swiftalicio.us/2014/11/using-cocoapods-from-swift/
私もこの問題を経験しましたが、残念ながらこれは SDK + Xcode の単なるバグです。WWDC のエンジニアと、これと CloudKit で抱えていた他のいくつかの問題について話しました。これらのバグは、Xcode の次のシードで対処される予定です。
ベータ版ソフトウェアを使用することの楽しい部分です。
適切な方法ではない cocoapods のブリッジ ヘッダー ファイルからいくつかのファイルをインポートしました。
インポートする代わりに
#import <SomeCocoaPod/SomeCocoaPod.h>
私が書いた
#import "SomeCocoaPod.h"
そして、これは私の大きな間違いでした
目的の c プロジェクトに迅速なクラスを追加するのに問題がある他の人のために。これは私のために働くものです:
以上です。Objective-C のように、コード内に迅速なクラスを作成します。
私にとっては、フレームワークの追加中に宛先パスで「必要に応じてアイテムをコピーする」を選択していませんでした。このオプションを選択して、フレームワークを再度追加するだけです。
プロジェクトに一時的な Objective-C ファイルを追加します。好きな名前を付けることができます。
[はい] を選択して、Objective-C ブリッジ ヘッダーを構成します。
作成した一時的な Objective-C ファイルを削除します。
作成した projectName-Bridging-Header.h ファイルに、次の行を追加します。
'#import < GoogleMaps/GoogleMaps.h >'
AppDelegate.swift ファイルを編集します。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
GMSServices.provideAPIKey("AIza....") //iOS API key
return true
}
完全なサンプルのリンクをたどってください
私は別の理由で同じ問題を抱えています。これは、スライドメニューを含める必要があるプロジェクトをビルドする私のケースです。それにアプローチするために SWRevealViewController lib を使用しています。
ライブラリ ファイルをインポートすると、.h && .m ファイルのサポート ファイルの下にサブフォルダー (SWRvealViewController) を追加すると、2 つのエラーが発生し、ブリッジをインポートできず、SWRevealViewController.h が見つかりません。
修正方法
ファイルを Supporting Files に直接移動すると (サブフォルダーを削除)、SWRevealViewController.m が Build Phases --> Compile Sources に自動的に追加され、問題はなくなりました
上記の解決策では解決できない同様の問題がありました。私のプロジェクトでは CocoaPods を使用しています。エラーとともに、次のメッセージで警告が表示されることに気付きました。
Uncategorized: Target 'Pods' of project 'Pods' was rejected as an implicit dependency for 'Pods.framework' because its architectures 'arm64' didn't contain all required architectures 'armv7 arm64'
したがって、解決策は非常に簡単でした。Pods プロジェクトの場合、Build Active Architecture OnlyフラグをNoに変更すると、元のエラーはなくなりました。
アプリに Today 拡張機能を追加しているときに、そのようなエラーが発生しました。拡張機能のビルド ターゲットは、アプリのビルド ターゲットと同じ名前のブリッジ ヘッダーで生成されました。拡張機能がアプリのブリッジ ヘッダーにリストされているファイルを認識しないため、これがエラーの原因でした。
必要なのは、拡張機能のブリッジ ヘッダーの名前を削除または変更することだけで、すべて問題ありません。
これが役立つことを願っています。
最初の数日間の苦労の末、ついに Facebook サインアップを iOS アプリにうまく統合することができました。手順は次のとおりです (マシンに Facebook SDK v4.1 以降が既にインストールされていることを前提としています)。
ここに記載されているように、pList に情報を追加します。
アプリをビルドします。そしてうわー!コンパイル時エラーはありません。
他の修正の中で、Product->Archive を実行しようとしたときにエラーが発生しました。私はこれを持っていたことがわかりました:
Objective-C Bridging Header
Debug (had the value)
Release (had the value)
Any architecture | Any SDK (this was blank - problem here!)
その最後の行に設定した後、機能しました。
Precompile Bridging HeaderをNoに設定すると、問題が解決します。