1

我正在尝试在 IOS 项目中使用 SDWebImage。

我正在按照他们的 github 中的这些说明进行操作:

import the project as a static library.

Add the SDWebImage project to your project

Download and unzip the last version of the framework from the download page
Right-click on the project navigator and select "Add Files to "Your Project":
In the dialog, select SDWebImage.framework:
Check the "Copy items into destination group's folder (if needed)" checkbox
Add dependencies

In you application project app’s target settings, find the "Build Phases" section and open the "Link Binary With Libraries" block:
Click the "+" button again and select the "ImageIO.framework", this is needed by the progressive download feature:
Add Linker Flag

Open the "Build Settings" tab, in the "Linking" section, locate the "Other Linker Flags" setting and add the "-ObjC" flag:



Import headers in your source files

In the source files where you need to use the library, import the header file:

#import <SDWebImage/UIImageView+WebCache.h>

但我收到此错误:

SDWebImage is ARC only. Either turn on ARC for the project or use -fobjc-arc

我试图搜索其他一些答案所说的标题搜索路径,我得到了这些结果:

Always search user paths -No
Header search paths
User header search paths

我必须在那里设置一个值吗?还是我应该做其他事情?

我在他们的演示中注意到的另一件事是:在他们的演示中,他们在 frameworks 文件夹中导入了 sdwebimageview 的 .xcodeproject ,我已经按照 github 中的说明导入了 sdwebimageview.framework。

谢谢!

编辑:我的项目是非 Arc。

我尝试更改other Linker flags from -ObjC to fobjc-arc但仍然遇到相同的错误。

1)这是正确的还是我应该改变其他东西?2)如果我将我的项目从非弧更改为弧我应该更改什么?我只想使用那个库,所以我不想改变它。

在 .h 文件 os SDWebImage 它说:

#if !__has_feature(objc_arc)
#error SDWebImage is ARC only. Either turn on ARC for the project or use -fobjc-arc flag
#endif
4

1 回答 1

4

本教程向您展示如何在项目中为每个文件设置 ARC 或非 ARC。

除非您无论如何都想切换到 ARC,否则我建议您保留项目原样,只需启用-fobjc-arcSDWebImage 中文件的选项。查看上面的教程,其中的图像向您展示了放置标志的位置。(他们的示例使用-fno-objc-arc,它的作用相反,所以只要确保你使用-fobjc-arc。你在同一个地方输入它。)

于 2012-12-29T21:24:10.880 回答