为啥我收到 CIFilter 的“无法识别的选择器发送到类”错误?
Posted
技术标签:
【中文标题】为啥我收到 CIFilter 的“无法识别的选择器发送到类”错误?【英文标题】:Why am I getting an "unrecognized selector sent to class" error for CIFilter?为什么我收到 CIFilter 的“无法识别的选择器发送到类”错误? 【发布时间】:2015-09-23 02:17:23 【问题描述】:此代码适用于 iPad 2 模拟器,但不适用于我的物理 iPad 2(在 ios 7.0.6 上运行):
var fade = CIFilter(name: "CIExposureAdjust", withInputParameters:["inputEV" : -2.0 ])
完整的错误信息说:
[CIFilter filterWithName:withInputParameters:]: 无法识别的选择器 发送到类 0x392d8d9c 2015-07-05 23:12:37.106 *** 终止应用程序 由于未捕获的异常“NSInvalidArgumentException”,原因: '+[CIFilter filterWithName:withInputParameters:]: 无法识别 选择器发送到类 0x392d8d9c'
【问题讨论】:
阅读the doc:+filterWithName:withInputParameters:
-> Available in iOS 8.0 and later
。
该死的他们抓住了我。这是我检查的第一件事,但我刚刚看到该类是“在 iOS 5.0 及更高版本中可用”。没想到要检查功能。感谢您的帮助。
【参考方案1】:
查看the official documentation of + filterWithName:withInputParameters:
+ filterWithName:withInputParameters:
可用性 适用于 iOS 8.0 及更高版本。
由于您的 iPad 在 iOS 7 上运行,此方法不可用,因此您的应用会崩溃。
一些可能的解决方案:
使用- respondsToSelector:
检查方法是否存在。
检查当前基础版本号NSFoundationVersionNumber
是否高于NSFoundationVersionNumber_iOS_7_1
。
将 iOS 8 设为您的应用的最低要求。
【讨论】:
以上是关于为啥我收到 CIFilter 的“无法识别的选择器发送到类”错误?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我得到“[__NSArrayI allKeys]:无法识别的选择器发送到实例”/为啥 NSDictionary 正在转换?
为啥我得到“[__NSArrayI allKeys]:无法识别的选择器发送到实例”/为啥 NSDictionary 正在转换?
OCMock:为啥在尝试调用 UIWebView 模拟时会出现无法识别的选择器异常?
在进行 json 解析时,我收到异常为 ::-->> 原因::无法识别的选择器发送到实例