我正在尝试在我的iPhone应用程序中使用SDWebImage。 我按照一步一步的教程将SDWebImage安装到我的Xcode项目中。
当我尝试构建我的应用时,我收到以下错误:
Lexical or Preprocessor Issue
'SDWebImage/UIImageView+WebCache.h' file not found
有人可以帮我解决这个问题吗?
答案 0 :(得分:16)
更清洁的“安装”SDWebImage如下:
在您要使用的任何.m文件中添加:
#import "UIImageView+WebCache.h"
(以及任何其他需要的SD组件)
而不是你可能做的:
#import <SDWebImage/UIImageView+WebCache.h>
这不需要任何项目标题操作,并将按原样运行。
答案 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数据的内容。它起作用了!