将 SDWebImage 导入 Swift 项目
Importing SDWebImage into Swift project
正在尝试将 SDWebImage 安装到我的 Swift 项目中。我正在使用以下说明 (https://github.com/rs/SDWebImage):
- 从下载页面下载并解压最新版本的框架
- 右键单击项目导航器和select“将文件添加到“您的项目”:
- 在对话框中,select SDWebImage.framework:
选中“将项目复制到目标组的文件夹(如果需要)”复选框
所以我 git clone --recursive
来自 GitHub 的项目,我将 .xcodeproj 文件拖到我的项目中(因为据我所知没有 SDWebImage.framework 文件,这一直为其他框架工作),我完成了其余的说明:
- 在您的应用程序项目应用程序的目标设置中,找到“Build Phases”部分并打开“Link Binary With Libraries”块
- 再次单击“+”按钮并select“ImageIO.framework”,这是渐进式下载功能所需要的:
添加 Linker 标志
- 打开“Build Settings”选项卡,在“Linking”部分,找到“Other Linker Flags”设置并添加“-ObjC”标志
然后我在桥接头中添加 #import <SDWebImage/UIImageView+WebCache.h>
。我构建项目并得到:“SDWebImage/UIImageView+WebCache.h”未找到。我已经尝试了这些步骤的一些变体,但似乎没有任何效果。我做错了什么?
编辑
很确定会发生这种情况,因为我没有提取 SDWebImage.framework 文件,而是 .xcodeproj 文件。但是我已经从 zip 下载并克隆了 repo,但那里似乎没有 .framework 文件...
更新
所以显然我应该下载已编译的框架,这是我在另一个答案中找到的:。可能是?我没有线索。当我导入 .framework 文件时,我的桥接头工作并识别了 #import <SDWebImage/UIImageView+WebCache.h>
,但它没有识别 imageView.sd_...
。所以还在努力。
Last compiled framework is 3.7.0 and you can find it in: https://github.com/rs/SDWebImage/releases
For easier access, the direct link to the framework is below: https://github.com/rs/SDWebImage/releases/download/3.6/SDWebImage-3.6.framework.zip
import "SDWebImage/UIImageView+WebCache.h"
我推荐使用 CocoaPods 来处理依赖关系。
CocoaPods 是一个依赖管理器,旨在解决这些问题。
按照他们网站上的安装指南进行操作:https://cocoapods.org
对我来说,当我从导入中删除 SDWebImage 时,它很有帮助。所以我在 project-Bridging-Header.h
:
中有这个
#import "UIImageView+WebCache.h"
有关 iOS 桥接头的更多信息:
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html
所以在我最终意识到您不应该使用主 SDWebImage 文件夹,而是将其中的 SDWebImage 文件夹用于项目之前,我什么都做不了。拖入 .xcodeproj 文件、整个文件夹或 .framework 文件都不起作用。导入该子 SDWebImage 文件夹,然后利用 Libor Zapletal 的回答:#import "UIImageView+WebCache.h"
终于让这个东西为我工作了。
这对我有效:
- 在桥接头中添加
#import <SDWebImage/UIImageView+WebCache.h>
- 在项目Build Settings中,在Objective-CBridging Header中设置桥接头文件的路径。前任。
My Project/BridgingHeader.h
正在尝试将 SDWebImage 安装到我的 Swift 项目中。我正在使用以下说明 (https://github.com/rs/SDWebImage):
- 从下载页面下载并解压最新版本的框架
- 右键单击项目导航器和select“将文件添加到“您的项目”:
- 在对话框中,select SDWebImage.framework: 选中“将项目复制到目标组的文件夹(如果需要)”复选框
所以我 git clone --recursive
来自 GitHub 的项目,我将 .xcodeproj 文件拖到我的项目中(因为据我所知没有 SDWebImage.framework 文件,这一直为其他框架工作),我完成了其余的说明:
- 在您的应用程序项目应用程序的目标设置中,找到“Build Phases”部分并打开“Link Binary With Libraries”块
- 再次单击“+”按钮并select“ImageIO.framework”,这是渐进式下载功能所需要的: 添加 Linker 标志
- 打开“Build Settings”选项卡,在“Linking”部分,找到“Other Linker Flags”设置并添加“-ObjC”标志
然后我在桥接头中添加 #import <SDWebImage/UIImageView+WebCache.h>
。我构建项目并得到:“SDWebImage/UIImageView+WebCache.h”未找到。我已经尝试了这些步骤的一些变体,但似乎没有任何效果。我做错了什么?
编辑
很确定会发生这种情况,因为我没有提取 SDWebImage.framework 文件,而是 .xcodeproj 文件。但是我已经从 zip 下载并克隆了 repo,但那里似乎没有 .framework 文件...
更新
所以显然我应该下载已编译的框架,这是我在另一个答案中找到的:。可能是?我没有线索。当我导入 .framework 文件时,我的桥接头工作并识别了 #import <SDWebImage/UIImageView+WebCache.h>
,但它没有识别 imageView.sd_...
。所以还在努力。
Last compiled framework is 3.7.0 and you can find it in: https://github.com/rs/SDWebImage/releases
For easier access, the direct link to the framework is below: https://github.com/rs/SDWebImage/releases/download/3.6/SDWebImage-3.6.framework.zip
import "SDWebImage/UIImageView+WebCache.h"
我推荐使用 CocoaPods 来处理依赖关系。 CocoaPods 是一个依赖管理器,旨在解决这些问题。
按照他们网站上的安装指南进行操作:https://cocoapods.org
对我来说,当我从导入中删除 SDWebImage 时,它很有帮助。所以我在 project-Bridging-Header.h
:
#import "UIImageView+WebCache.h"
有关 iOS 桥接头的更多信息: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html
所以在我最终意识到您不应该使用主 SDWebImage 文件夹,而是将其中的 SDWebImage 文件夹用于项目之前,我什么都做不了。拖入 .xcodeproj 文件、整个文件夹或 .framework 文件都不起作用。导入该子 SDWebImage 文件夹,然后利用 Libor Zapletal 的回答:#import "UIImageView+WebCache.h"
终于让这个东西为我工作了。
这对我有效:
- 在桥接头中添加
#import <SDWebImage/UIImageView+WebCache.h>
- 在项目Build Settings中,在Objective-CBridging Header中设置桥接头文件的路径。前任。
My Project/BridgingHeader.h