无法使用SDWebImage

时间:2016-01-27 07:28:48

标签: ios objective-c xcode frameworks sdwebimage

Xcode:版本7.2

OS X:10.10.5

我是iOS的新手,并尝试按照官方安装指南在Objective-C中使用SDWebImage,但我收到此错误:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_SDWebImageManager", referenced from:
      objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我下载了zip文件并将其解压缩,然后将文件添加到我的项目中。

此外,添加了依赖项“ImageIO.framework”和链接器标记“-ObjC”。

Screenshot

我已经阅读了这些问题:

2 个答案:

答案 0 :(得分:2)

不要下载并解压缩。这真是最可怕的做事方式。使用CocoaPodsCarthage或至少git submodules。 "解压缩方式"使代码难以维护:您无法知道导入的版本(当您在一年内返回此项目时),没有人知道引用的位置。人们将手动更改源文件,因此以后您无法在不丢失这些更改的情况下更新到较新版本。您还必须手动设置项目,这对您来说很麻烦(还有很多其他人,不用担心)。最简单的方法来修复它?使用CocoaPods。

为此,打开控制台并输入:

$ sudo gem install cocoapods

在Xcode中关闭您的项目。在控制台中打开.xcodeproj的路径。类型:

$ pod init

打开.podfile。粘贴pod 'SDWebImage', '~> 3.7'。在控制台类型中:

$ pod install

完成后,打开.xcodeworkspace。现在一切都应该正常工作。

答案 1 :(得分:1)

由于框架未正确链接到应用程序,可能会发生这种情况。

只需尝试以下步骤:

  • 转到目标 - >构建阶段 - > Link Binary with Libraries
  • 点击+符号&从项目中添加
  • 清洁App&再建一次

希望它对你有所帮助。