我正在尝试在我的 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”
如果以这种方式导入工程,编译时会报错“framework SDWebImage not found”。
您需要重命名,删除“-3.3”。将是:“SDWebImage.framework”
强制从 Xcode 重命名,会导致意外关闭 IDE 的错误。从 Finder 重命名并再次添加框架。
我希望它有用...
我不希望我最大的敌人因为解决这个问题而不得不经历挫折,因为这些解决方案在我的特定情况下都没有帮助。如果您的项目较早编译,您回到它并且此错误突然出现,您可能已将其移动到某个新目录 - 所以转到框架搜索路径下的构建设置 > 搜索路径 > 删除过时的路径,创建一个新的并将其设置为“$(SRCROOT)”(不带引号)并将默认的“非递归”更改为“递归”。我希望这能减轻我所忍受的痛苦。
@Lizard 的回答拯救了我的一天!
$(SRCROOT)/SDWebImage 到标题搜索路径
更具体地说,您必须在目标中而不是在项目视图中添加该配置。
我有 .xcodeproj 和 .xcworkspace 文件并使用 .xcodeproj 启动代码并收到此错误,但使用 .xcworkspace 它工作正常
使用#import <SDWebImage/UIImageView+WebCache.h>
为我解决了这个问题,因为我使用 Cocoapods 作为框架(use_frameworks!)。
检查您是否已正确链接文件及其是否在您的捆绑包中。
利用
#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”
添加链接器标志
打开“Build Settings”选项卡,在“Linking”部分,找到“Other Linker Flags”设置并添加“-ObjC”标志:
在源文件中导入标头
#import <SDWebImage/UIImageView+WebCache.h>
它现在应该构建没有任何问题。
当我在保持 XCode 打开的同时移除一些旧的未使用的 Pod 时出现此错误。我已经看到并读到,在执行任何 pod 操作时,您必须保持 XCode 关闭。完成 pod 操作后,您应该重新打开 xcworkspace 文件并构建。
是否同样关闭了 XCode,但我也删除了派生数据的内容,只是为了从新页面开始。有效 !