找不到SDWebImage / UIImageView + WebCache.h文件

时间:2012-06-14 13:11:32

标签: iphone objective-c ios sdwebimage

我正在尝试在我的iPhone应用程序中使用SDWebImage。 我按照一步一步的教程将SDWebImage安装到我的Xcode项目中。

当我尝试构建我的应用时,我收到以下错误:

Lexical or Preprocessor Issue
'SDWebImage/UIImageView+WebCache.h' file not found 

有人可以帮我解决这个问题吗?

10 个答案:

答案 0 :(得分:16)

更清洁的“安装”SDWebImage如下:

  1. 将Finder中的SDWebImage文件夹拖到Xcode的项目中
  2. 在您要使用的任何.m文件中添加: #import "UIImageView+WebCache.h"

    (以及任何其他需要的SD组件)

    而不是你可能做的: #import <SDWebImage/UIImageView+WebCache.h>

  3. 这不需要任何项目标题操作,并将按原样运行。

答案 1 :(得分:10)

可能会发生:

解压缩此框架,目录名称可能如下:“SDWebImage-3.3.framework”

如果以这种方式导入项目,则在编译时会导致错误“框架SDWebImage未找到”。

您需要重命名,删除“-3.3”。将是:“SDWebImage.framework”

强制从Xcode重命名,导致出现意外关闭IDE的错误。从Finder重命名并再次添加框架。

我希望它有用......

答案 2 :(得分:5)

我不希望我最大的敌人在解决这个问题时遇到挫折感,因为在我的特定情况下,这些解决方案都没有帮助。如果您之前编译的项目,您回到它并且此错误突然冒出,很可能您已将其移动到某个新目录 - 所以转到Build Settings&gt;搜索路径&gt;在Framework Search Paths下删除过时的路径,创建一个新路径并将其设置为“$(SRCROOT)”(不带引号),并将默认的“非递归”更改为“递归”。我希望这可以避免让我忍受的痛苦。

答案 3 :(得分:3)

@Lizard答案救了我的一天!

  

$(SRCROOT)/ SDWebImage到标题搜索路径

更具体地说,您必须在目标中添加该配置,而不是在项目视图中添加。

答案 4 :(得分:3)

我有.xcodeproj和.xcworkspace文件并使用.xcodeproj启动了代码并得到了此错误,但使用.xcworkspace它运行良好

答案 5 :(得分:2)

检查您是否已正确链接文件及其在捆绑中的链接。

答案 6 :(得分:2)

使用

#import "UIImageView+WebCache.h"

而不是

#import <SDWebImage/UIImageView+WebCache.h>

将解决它。

答案 7 :(得分:2)

使用#import <SDWebImage/UIImageView+WebCache.h>解决了我的问题,因为我使用Cocoapods作为框架(use_frameworks!)。

答案 8 :(得分:1)

我也遇到了这个问题。我的解决方案是添加SDWebImage.framework,而不是添加项目中的所有文件。以下是检查清单,以确保按照auther here的建议设置所有内容。

下载并添加框架

第1步: 在此处下载并解压缩最新版本: https://github.com/rs/SDWebImage/wiki/Download-Complied-Framework

第2步: 右键单击项目导航器,然后选择“将文件添加到”项目“: 在对话框中,选择SDWebImage.framework,然后选中“将项目复制到目标组的文件夹(如果需要)”复选框

添加依赖项

在应用程序项目应用程序的目标设置中,找到“构建阶段”部分并打开“链接二进制文件库”块: 再次单击“+”按钮并选择“ImageIO.framework”

添加链接器标记

打开“Build Settings”选项卡,在“Linking”部分找到“Other Linker Flags”设置并添加“-ObjC”标志:

导入源文件中的标题

#import <SDWebImage/UIImageView+WebCache.h>

它现在应该没有任何问题。

答案 9 :(得分:0)

当我在保持XCode打开的状态下删除一些旧的未使用的Pod时出现了此错误。我已经阅读并阅读到在执行任何pod操作时必须保持XCode关闭。 pod操作完成后,您应该重新打开xcworkspace文件并进行构建。

是否同样关闭了XCode,但是我还是从新页面开始删除了Derived数据的内容。它起作用了!