当我尝试在真实设备(带有 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。
突然出现的问题可能是什么原因造成的?
最佳答案
正如在其他问题中所说的那样,DerivedData 中的新“ModuleCache”目录导致了许多此类问题。
路径如下:
/Users/[user]/Library/Developer/Xcode/DerivedData/ModuleCache
只需删除模块缓存或整个派生数据目录,就像许多人在最近几次 iOS SDK 迭代中每天所做的那样。
我来这里是为了寻找类似问题的不同答案,因为这个解决方案不能解决我当前的问题,但我想我会分享这个,因为它将解决其中的许多问题。
关于ios - SDWebImage 在 iOS 8.1 上出现奇怪的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26981495/