Почему я получаю сообщение об ошибке "Неопознанный селектор отправлен в класс" для CIFilter?
Этот код работает на симуляторе 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:withInputParametersized:]: селектор отправлен в класс 0x392d8d9c'
1 ответ
Проверьте официальную документацию + filterWithName:withInputParameters:
+ filterWithName:withInputParameters:
Доступность
Доступный в iOS 8.0 и позже.
Поскольку ваш iPad работает на iOS 7, этот метод недоступен, и поэтому ваше приложение вылетает.
Несколько возможных решений:
использование
- respondsToSelector:
проверить, существует ли метод.Проверьте, если текущий номер версии фонда,
NSFoundationVersionNumber
выше чемNSFoundationVersionNumber_iOS_7_1
,Сделайте iOS 8 минимальным требованием для вашего приложения.