iPhone アプリで SDWebImage を使用しようとしています。ステップ バイ ステップのチュートリアルに従って、SDWebImage を Xcode プロジェクトにインストールしました。
アプリをビルドしようとすると、次のエラーが発生します。
Lexical or Preprocessor Issue
'SDWebImage/UIImageView+WebCache.h' file not found
誰かがこの問題を解決するのを手伝ってくれますか?
iPhone アプリで SDWebImage を使用しようとしています。ステップ バイ ステップのチュートリアルに従って、SDWebImage を Xcode プロジェクトにインストールしました。
アプリをビルドしようとすると、次のエラーが発生します。
Lexical or Preprocessor Issue
'SDWebImage/UIImageView+WebCache.h' file not found
誰かがこの問題を解決するのを手伝ってくれますか?
SDWebImage のよりクリーンな「インストール」は次のようになります。
使用したい任意の .m ファイルに以下を追加します。
#import "UIImageView+WebCache.h"
(および必要なその他の SD コンポーネント)
あなたがおそらくしたことの代わりに:
#import <SDWebImage/UIImageView+WebCache.h>
これは、プロジェクト ヘッダーの操作を必要とせず、そのまま機能します。
次のことが起こる場合があります。
このフレームワークを解凍すると、ディレクトリ名は次のようになります:「SDWebImage-3.3.framework」
この方法でプロジェクトをインポートすると、コンパイル時に「フレームワーク SDWebImage が見つかりません」というエラーが発生します。
「-3.3」を削除して名前を変更する必要があります。「SDWebImage.framework」になります。
Xcode から強制的に名前を変更すると、IDE が予期せず終了するバグが発生します。Finder から名前を変更し、フレームワークを再度追加します。
お役に立てば幸いです...
私の特定のケースではこれらの解決策のどれも役に立たなかったので、この問題を解決するために経験しなければならなかった欲求不満を私の最悪の敵に望んでいません. プロジェクトが以前にコンパイルされ、戻ってきて、このエラーがどこからともなく現れた場合は、プロジェクトを新しいディレクトリに移動した可能性があります。そのため、[ビルド設定] > [検索パス] > [フレームワーク検索パス] の下にある古いパスを削除し、作成します。新しいものを作成して "$(SRCROOT)" (引用符なし) に設定し、デフォルトの "非再帰" を "再帰" に変更します。これが誰かが私が耐えた苦痛を免れることを願っています。
@Lizardの答えは私の一日を救った!
$(SRCROOT)/SDWebImageからヘッダー検索パスへ
具体的には、プロジェクトビューではなく、ターゲットにその構成を追加する必要があります。
.xcodeproj と .xcworkspace ファイルがあり、.xcodeproj を使用してコードを起動すると、このエラーが発生しましたが、.xcworkspace では問題なく動作しました
ファイルとバンドル内のファイルが正しくリンクされているかどうかを確認してください。
使用する
#import "UIImageView+WebCache.h"
それ以外の
#import <SDWebImage/UIImageView+WebCache.h>
解決します。
私もこの問題を抱えていました。私にとっての解決策は、プロジェクトにすべてのファイルを追加するのではなく、SDWebImage.framework を追加することでした。すべてが auther hereによって提案されているように設定されていることを確認するためのチェックリストを次に示します。
フレームワークのダウンロードと追加
ステップ 1: 最新バージョンをダウンロードして解凍します: https://github.com/rs/SDWebImage/wiki/Download-Complied-Framework
ステップ 2: プロジェクト ナビゲーターを右クリックし、[ファイルを「あなたのプロジェクト」に追加] を選択します。ダイアログで、SDWebImage.framework を選択し、[項目を宛先グループのフォルダーにコピーする (必要な場合)] チェックボックスをオンにします。
依存関係を追加する
アプリケーション プロジェクト アプリのターゲット設定で、[Build Phases] セクションを見つけて、[Link Binary With Libraries] ブロックを開きます。[+] ボタンをもう一度クリックして、[ImageIO.framework] を選択します。
リンカーフラグを追加
[ビルド設定] タブを開き、[リンク] セクションで [その他のリンカー フラグ] 設定を見つけて、[-ObjC] フラグを追加します。
ソース ファイルにヘッダーをインポートする
#import <SDWebImage/UIImageView+WebCache.h>
これで問題なくビルドできるはずです。