3

我对 ios 开发相当陌生 - 尝试在我的 iphone 项目中使用 sdwebimage。我相信我已按要求完成了所有基本设置。但是当我构建时,出现此错误:此行附近没有此类文件文件或目录:

#import "UIImageView+WebCache.h"
  • 是的,我添加了目标依赖项
  • 我在 Link Binary With Libraries 添加了 libSDWebImage.a
  • 我在其他链接器标志中有 -all_load -ObjC
  • 我还尝试了 -force_load ${BUILT_PRODUCTS_DIR}/libSDWebImage.a (64bit mac)
  • 我的使用标题搜索路径是:$(BUILT_PRODUCTS_DIR)
  • 我清理了项目并重建了 - 但没有用。

构建不断失败。同样,当我输入 #import "UI & hit "ctrl+space" 时,XCode4 代码完成“解析”,这意味着 xcode 可以看到该库。任何指针都会非常有帮助。谢谢。

4

7 回答 7

16

要将所需的头文件添加到构建路径,请执行以下操作。

  1. 选择您的项目文件
  2. 选择你的目标
  3. 选择构建设置
  4. 在搜索框中输入“标题搜索路径”
  5. 对于发布添加"$(SOURCE_ROOT)/SDWebImage"(即带引号)。

像这样导入时这将起作用#import <SDWebImage/UIImageView+WebCache.h>

于 2012-05-22T03:51:15.527 回答
8

我也使用SDWebImage
根据我的经验,我没有对链接器标志等做任何事情。
您只需在项目中添加类,然后在类的标题中简单地导入“UIImageView+WebCache.h”,如下所示:

#import "UIImageView+WebCache.h"

如果你想在 UIImageView 对象上使用它,只需使用方法

setImageWithURL:placeholderImage:

您可以参考他们的 github 了解更多信息

于 2012-01-28T05:34:40.173 回答
3

我刚刚遇到这个问题并解决了它。

问题是,当您将 SDWebImage xcode 项目“拖”到您的项目时,Xcode 只会创建一个引用来指向所需的那些文件。当您处于调试模式时,它很好,它知道在哪里可以找到这些文件。但是,当您想要归档它(将所有内容打包成独立的)时,它无法从您的搜索路径中找到它。

尽管您已将 $(BUILT_PRODUCTS_DIR) 添加到搜索路径,但如果您下载的实际文件实际上不在 $(BUILT_PRODUCTS_DIR) 中,那么 Xcode 将找不到它们。这对我来说是个问题,因为我的 SDWebImage 文件仍在我的下载文件夹中。

你想做的是:

1.将 SDWebImage 文件夹移动到不会意外删除的位置。请注意,完成此操作后,SDWebImage 项目文件将变为红色,因为它的物理位置已移动。而且我无法在 Xcode 中删除该引用,我最终做的是再次添加该文件(从我刚刚移动它的位置选择)。您最终会在项目导航器中看到一个红色的 SDWebImage.xcodeproj,您无法删除它。这很烦人,但不会影响任何事情。2. 如果您将 SDWebImage 内容移动到的位置不在 $(BUILT_PRODUCTS_DIR) 中,那么您可以将其移动到 $(BUILT_PRODUCTS_DIR) 中,或者像我一样,将路径添加到 Target -> Build Settings -> Search Paths ->用户标题搜索路径。

存档,它现在应该可以工作了。

于 2012-03-15T08:22:35.577 回答
1

在过去的一个小时里,我一直在处理这个问题,并注意到一些没有提到的东西:确保在更新标题搜索路径时选择了“递归”选项!否则编译器不会检查子文件夹。

为我工作...

于 2013-04-30T10:09:29.610 回答
1
于 2012-02-15T06:58:37.330 回答
0

我正在处理同样的问题,没有找到我的两个框架。我尝试了所有建议的方法来解决错误,但它无济于事。Atlast 我从我的项目结构中删除了框架并从原始项目文件中重新加载它们并且它起作用了!如果有帮助,请试试这个,它对我有用......

于 2014-02-07T13:46:13.323 回答
0

pod更新后我遇到了类似的问题。如果您在项目中使用高于 1.0.0 的 CocoaPods 版本和多个目标,则必须将所有目标添加到 Podfile 中。

于 2017-01-23T09:55:35.500 回答