3

我有一个引用“SDWebImage”的自定义框架。问题是 SDWebImage 使用的不同模块/框架名称,如自述文件中所述: https ://github.com/rs/SDWebImage#usage

自从我改用嵌入 Swift Code 后,我摆脱了 Cocoapods,因为它给我带来了太多问题,改用 Carthage。到目前为止一切正常,但现在我遇到了一个问题,即 Carthage 依赖WebImage项链接到“”框架,而使用我的框架的项目通过 Cocoapods 链接到“ SDWebImage”。

我已经将与 WebImage 的链接切换为weak via -weak_framework WebImage,因此我没有收到链接错误,但问题仍然存在。

在我的框架中,我通过导入 WebImage 源

#import <WebImage/SDWebImageManager.h>

在运行时找不到,因为它需要SDWebImage/SDWebImageManager.h. 由于弱链接,我没有收到任何错误,但所有对象都是 nil,因此没有执行任何操作。

显然,我似乎可以通过运行时检查以某种方式解决这个问题,但是如果符号名称相同,只是使用不同的命名空间,我该怎么做呢?有没有办法“有条件地”使用 SDWebImage(如果可用)和 WebImage 否则?

我还尝试(弱)链接到 SDWebImage 框架和 WebImage,从两个源导入标头,但显然这既不是很干净也不起作用,似乎 SDWebImageManager 已解决/链接到先导入的任何一个。

之前有人对 SDWebImage 有任何想法或遇到过问题吗?

4

0 回答 0