Я могу воспроизвести ошибку (отображается в консоли), но для меня каждый раз работает поповер. Так что я не стал бы беспокоиться об этом, поскольку, похоже, он не вызывает сбоев.
Единственное «обходное решение» - отключить / заменить пункт меню «Определить». Но единственный способ сделать это - написать категорию для частного класса (что запрещено):
@interface UIWebBrowserView : UIView
@end
@interface UIWebBrowserView (Add)
@end
@implementation UIWebBrowserView (Add)
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if(action == @selector(_define:))
return NO;
return [super canPerformAction:action withSender:sender];
}
@end
Есть более «умные» способы сделать это без написания категории (метод swizzling), но они более опасны.
Если бы это работало, я бы просто оставил это в покое. У меня включен ARC, поэтому я не уверен, что это изменит.