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

问题描述 投票:7回答:10

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

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

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

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

iphone objective-c ios sdwebimage
10个回答
16
投票

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

  1. 将SDWebImage文件夹从Finder拖到Xcode的项目中
  2. 在您希望使用它的任何.m文件中添加:#import "UIImageView+WebCache.h" (以及任何其他需要的SD组件) 而不是你可能做的:#import <SDWebImage/UIImageView+WebCache.h>

这不需要任何项目标题操作,并将按原样工作。


0
投票

当我在保持XCode打开的同时移除一些旧的未使用的Pod时,我收到此错误。我已经看到并读过你在进行任何pod操作时必须保持XCode关闭。完成pod操作后,您应该重新打开xcworkspace文件并进行构建。

同样关闭了XCode,但我也删除了Derived数据的内容,只是从一个新页面开始。有效 !


10
投票

它可能发生在:

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

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

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

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

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


5
投票

我不希望我最大的敌人能够解决这个问题,因为在我的特定情况下,这些解决方案都没有帮助。如果你之前编译的项目,你回到它并且这个错误突然冒出来,很可能你已经将它移动到一个新的目录 - 所以转到构建设置>搜索路径>在框架搜索路径下删除过时的路径,创建一个新的并将其设置为“$(SRCROOT)”(不带引号)并将默认的“非递归”更改为“递归”。我希望这能使我忍受痛苦。


3
投票

@Lizard的答案救了我的一天!

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

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


3
投票

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


2
投票

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


2
投票

使用

#import "UIImageView+WebCache.h"

代替

#import <SDWebImage/UIImageView+WebCache.h>

会解决它。


2
投票

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


1
投票

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

下载并添加框架

第1步:在此处下载并解压缩最新版本:qazxsw poi

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

添加依赖项

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

添加链接器标志

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

导入源文件中的标头

https://github.com/rs/SDWebImage/wiki/Download-Complied-Framework

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

© www.soinside.com 2019 - 2024. All rights reserved.