ios - SDWebImage 在 iOS 8.1 上出现奇怪的编译错误

标签 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。

突然出现的问题可能是什么原因造成的?

最佳答案

正如在其他问题中所说的那样,DerivedData 中的新“ModuleCache”目录导致了许多此类问题。

路径如下:

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

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

我来这里是为了寻找类似问题的不同答案,因为这个解决方案不能解决我当前的问题,但我想我会分享这个,因为它将解决其中的许多问题。

关于ios - SDWebImage 在 iOS 8.1 上出现奇怪的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26981495/

相关文章:

ios - 什么是 *.PODSPEC 文件?

ios - SwiftUI使用步进器动态添加/删除TextField

ios - 核心数据不是在应用程序启动之间保留数据

c++ - Xcode 10 更新后 CMake 找不到 stdc++11

objective-c - Mac 应用程序 - 将文件拖放到菜单栏应用程序中

ios - 在 swift 中编写连接查询 DBAccess

iphone - UIViewController View -> loadView 与 viewWillAppear

iphone - 如何将NSArray存储在辅助存储上?

Swift UTC 时区不是 UTC

ios - 使用音频录制的URL连续播放音频文件