3

Bridging ヘッダー ファイルを使用して使用しているswiftプロジェクトがあります。MBProgressHUD私が抱えている問題はUIView、タイプとして認識されていないようで、その理由がわかりません。

私のブリッジヘッダーには次のものがあります。

#import "MBProgressHUD.h"

ビルドしようとしたときに発生するエラーは、すべて同じ行に沿っています。

Cannot find interface declaration for 'UIView', superclass of MBProgressHUD.

MBProgressHUD ファイルを確認したところ、次のものが確実にインポートされていることがわかります。

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <CoreGraphics/CoreGraphics.h>

#import "MBProgressHUD.h"
#import "CSNotificationView.h"

他の誰かが同様の問題を見たことがありますか? もしそうなら、あなたは問題が何であるか、どうすればそれを修正できるか知っていますか?

4

4 に答える 4

8

私も同じ問題に遭遇し、それがSwift 2でMBProgressHudを使用するために行ったことです

1) use_frameworks を指定してください! Podfile でフレームワークを使用します。

2) ブリッジ ヘッダーに #import を追加し、二重引用符の代わりに山かっこを使用します。

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <CoreGraphics/CoreGraphics.h>
#import <MBProgressHUD/MBProgressHUD.h>

3)SwiftファイルにMBProgressHUDもインポートします。

import UIKit
import MBProgressHUD

MBProgressHud を次のように使用できるようになりました -

MBProgressHUD.showHUDAddedTo(self.view, animated: true);

それが役立つことを願っています。

于 2015-09-24T10:34:49.833 に答える
3

既存のファイルを削除し、bridging header新しいファイルを追加します。

SWIFT_OBJC_BRIDGING_HEADERプロジェクト セクションではなく、ターゲット セクションの下にブリッジ ヘッダー パスを追加していることを確認してください。

于 2015-09-18T14:48:43.283 に答える
1

プリコンパイル済みプレフィックス ヘッダー ファイル (.pch) をプロジェクトに追加することもできます。ファイル/新規/その他の下にあり、そこに#import <UIKit/UIKit.h>節を追加し、ターゲットのビルド設定で、Apple LLVM 7.0 - 言語の下で、プリコンパイル プレフィックス ヘッダー フラグを yes に設定し、.pch ファイルを次のように追加します "YourProjectName /YourProject-Prefix.pch".

この回答も参照してください。

于 2015-09-23T18:22:01.933 に答える
1

MBProgressHUDライブラリを含める場合は、次CocoaPodsのような行を含めるようにしてください

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <CoreGraphics/CoreGraphics.h>

#import "MBProgressHUD.h"

Build Settingsの BridgeHeader.hObjective-C Bridging Header キーで、ヘッダーを選択します。ライブラリが正しく追加されているかどうかをテストするために、次の手順で進行状況を表示しようとしますViewController

MBProgressHUD.showHUDAddedTo(self.view, animated: true);

新しいプロジェクトで試してみましたが、うまくいきました。

于 2015-09-22T08:22:58.413 に答える