10

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

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

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

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

4

10 回答 10

17

SDWebImage 的更干净的“安装”如下:

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

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

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

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

于 2012-10-22T21:03:16.757 回答
10

可能会发生以下情况:

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

如果以这种方式导入工程,编译时会报错“framework SDWebImage not found”。

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

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

我希望它有用...

于 2013-07-02T12:22:20.170 回答
6

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

于 2013-10-25T16:12:49.480 回答
4

@Lizard 的回答拯救了我的一天!

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

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

于 2012-07-20T20:26:47.163 回答
3

我有 .xcodeproj 和 .xcworkspace 文件并使用 .xcodeproj 启动代码并收到此错误,但使用 .xcworkspace 它工作正常

于 2016-09-09T03:35:39.843 回答
3

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

于 2015-12-07T04:38:39.030 回答
2

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

于 2012-06-14T13:21:07.977 回答
2

利用

#import "UIImageView+WebCache.h"

代替

#import <SDWebImage/UIImageView+WebCache.h>

会解决的。

于 2013-06-04T15:11:09.993 回答
1

我也遇到了这个问题。我的解决方案是添加 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>

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

于 2013-02-21T05:52:56.047 回答
0

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

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

于 2019-02-15T09:45:43.097 回答