iOS 8.1上的SDWebImage奇怪的编译错误

时间:2014-11-17 20:35:38

标签: ios iphone xcode swift sdwebimage

当我尝试在真实设备(带有iOS 8.1的iPhone 5和5S)上运行项目时,我得到以下编译器错误:

// ARC Semantic Issue - myPath/SDWebImage/UIImage+GIF.m:26:42: No visible @interface for 'UIImage' declares the selector 'initWithData:'
animatedImage = [[UIImage alloc] initWithData:data];

// ARC Semantic Issue - myPath/SDWebImage/UIImage+GIF.m:47:34: No known class method for selector 'animatedImageWithImages:duration:'
animatedImage = [UIImage animatedImageWithImages:images duration:duration];

// ARC Semantic Issue - myPath/SDWebImage/UIImage+GIF.m:155:21: No known class method for selector 'animatedImageWithImages:duration:'
return [UIImage animatedImageWithImages:scaledImages duration:self.duration];

我的项目工作正常,直到今天早上。我没有改变任何东西,只是试图在真实设备上调试。最奇怪的部分是我可以在模拟器上运行/调试(在iOS 8的任何iPhone设备上),没有任何错误。

当我将部署目标从8.1降级到8时,XCode可以成功构建并运行模拟器和真实设备的项目。

我尝试完全删除SDWebImage并将其添加回来,但没有解决问题。

我在我的项目中使用XCode 6.1(Swift)和iOS 8.1 SDK。

什么可能导致突然出现的问题?

1 个答案:

答案 0 :(得分:2)

正如其他问题所说,DerivedData中的新“ModuleCache”目录已经解决了许多这些问题。

这是路径:

/Users/[user]/Library/Developer/Xcode/DerivedData/ModuleCache

在最近几次iOS SDK迭代中,只需删除模块缓存或整个派生数据目录,就像许多人每天都在做的那样。

我来到这里寻找一个类似问题的不同答案,因为这个解决方案并没有解决我当前的问题,但我想我会分享这个,因为它会解决很多这些问题。