sdwebimage:UIImageView + WebCache.h:没有这样的文件或目录

时间:2012-01-28 02:58:39

标签: iphone xcode import installation sdwebimage

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

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

构建不断失败。再次,当我输入#import“UI& hit”ctrl + space“时,XCode4代码完成”解析“,这意味着lib对xcode是可见的。任何指针都会非常有用。谢谢。

7 个答案:

答案 0 :(得分:15)

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

  1. 选择项目文件
  2. 选择目标
  3. 选择构建设置
  4. 在搜索框中输入“标题搜索路径”
  5. 对于版本添加"$(SOURCE_ROOT)/SDWebImage"(带引号的那些)。
  6. 这将在导入时使用此#import <SDWebImage/UIImageView+WebCache.h>

答案 1 :(得分:8)

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

#import "UIImageView+WebCache.h"

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

setImageWithURL:placeholderImage:

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

答案 2 :(得分: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 - &gt;构建设置 - &gt;搜索路径 - &gt;用户标题搜索路径。

存档,现在应该可以使用了。

答案 3 :(得分:1)

我遇到了同样的问题并且即将发疯。像Ravi一样,我尽可能地遵循静态安装说明。

我在输入UIImageView+WebCache.h时看到了#import的自动建议,但它一直没有找到丢弃的文件。

最后,就是这样。在标题搜索路径中,

“$(BUILT_PRODUCTS_DIR)” - 错了。

$(BUILT_PRODUCTS_DIR) - 对。

尴尬,但现在它正常工作=)

答案 4 :(得分:1)

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

为我工作......

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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