UIImagePickerController врезается в силу касания?
С iOS 9 все мои UIImagePickerControllers
теперь сбой, если я нажимаю на представленные изображения.
Сообщение об ошибке:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSObject previewingContext:viewControllerForLocation:]: unrecognized selector sent to class 0x1a0752020'
Я предполагаю, что это ошибка Apple, но с кем-нибудь работает?
Ответы
Ответ 1
Вот обходное решение: https://gist.github.com/nolanw/bd0a8997632fe92a9f83 (предупреждение: swizzles метод в частном классе, что, вероятно, должно сделать вас тошнотворным). Вставьте эти файлы в свой проект, затем вызовите MSDPreventImagePickerCrashOn3DTouch
откуда-нибудь (например, -applicationDidFinishLaunching:…
).
Проблема заключается в том, что частный класс с именем PUPhotosGridViewController
вызывает метод UIViewControllerPreviewing
на своем суперклассе, который не реализует этот метод. Обходной путь проверяет метод оскорбления и пытается вызвать исходную реализацию, но он проглатывает исключение, поэтому мы не сбой. Надеюсь, что, сделав это так, если/когда он будет исправлен, обходное решение не повлияет на это исправление.
Ответ 2
Ответ - непонятный способ исправить issuse. И вы можете получить отказ от Apple, используя Private API.
PUPhotoGridViewController - это простой UICollectionViewController, и вы можете написать расширение для не реализованного метода.
extension UICollectionViewController: UIViewControllerPreviewingDelegate {
public func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
return nil;
}
public func previewingContext(previewingContext: UIViewControllerPreviewing, commitViewController viewControllerToCommit: UIViewController) {
}
}
Ответ 3
Ящерица к сожалению. Вам просто нужно ждать исправления.
https://forums.developer.apple.com/thread/21932