PSDFKit и UIWebView не работают вместе

Я использую PSPDFKit в статической структуре, связанной с основным проектом, который использует другую статическую структуру с UIWebView.

После загрузки основного проекта, когда я запускаю UIWebView и вызываю запрос, у меня возникает эта ошибка:

void SendDelegateMessage(NSInvocation *): delegate (webView:decidePolicyForNavigationAction:request:frame:decisionListener:) failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode

и ничего не добавляется в веб-просмотре.

Если я не загружаю PSPDFKit в свой первый фреймворк, проблема не появляется, и все в порядке.

Я также обнаружил, что если я свяжу все фреймворки, необходимые для PSPDFKit, но не PSPDFKit, у меня будет та же ошибка. Я должен удалить структуру MessageUI, чтобы иметь правильное поведение. Но когда я включаю PSPDFKit даже без MessageUI, возникает ошибка.

У кого-то есть идея решить эту проблему или найти обходной путь?

Ошибка возникает на версиях iOS 7, только на устройствах не на симуляторе. И все отлично работает в iOS 6.

Я нашел это сообщение UIWebView:solvePolicyForNavigationAction?, но разрешение не очень ясно!

Спасибо


person Liberitus    schedule 28.07.2014    source источник


Ответы (1)


Итак, я решаю эту ошибку. Я не знаю, почему появилась эта ошибка, и я не знаю, почему мое исправление работает.

На самом деле я удаляю старый код для совместимости с iOS 5. Этот код использовал библиотеку objc/runtime.h, и его целью было внедрение во все наши подклассы UIViewController, если они не реализуют shouldAutorotateToInterfaceOrientation:

Мы использовали этот код, чтобы сделать это

Method shouldAutorotateToInterfaceOrientation = class_getInstanceMethod([self class], @selector(shouldAutorotateToInterfaceOrientation:));
class_addMethod(class, @selector(shouldAutorotateToInterfaceOrientation:), method_getImplementation(shouldAutorotateToInterfaceOrientation), method_getTypeEncoding(shouldAutorotateToInterfaceOrientation));
person Liberitus    schedule 08.08.2014