Сбой VFR-ридера в iOS8
Я протестировал приложение, которое в настоящее время работает с VFR-Reader-Core на iOS8, и у меня возникает полный сбой при попытке открыть из него PDF-файл. Я один с этой проблемой? Любая идея, где я могу искать, чтобы исправить это? Вот отчет о сбое
Спасибо
3 ответа
В iOS 8 изменилась структура файловой системы Te контейнеров приложений. Приложения и их содержимое больше не хранятся в одном корневом каталоге.
Из примечаний к выпуску iOS8:
Структура файловой системы контейнеров приложений изменилась на диске. Вместо того чтобы полагаться на жестко закодированную структуру каталогов, используйте
NSSearchPathForDirectoriesInDomains
функция илиURLForDirectory:inDomain:appropriateForURL:create:error:
методNSFileManager
учебный класс. См. Доступ к файлам и каталогам в Руководстве по программированию файловой системы.
Я кратко рассмотрел проблему и вижу, что VFRReader не следует приведенным выше рекомендациям Apple.
Я собирался обсудить проблему на странице Github, однако отслеживание проблемы, похоже, было отключено. Если сегодня у меня будет дополнительное время, я посмотрю, как решить эту проблему и поднять запрос на удаление.
Изменить: Проверьте мой форк для версии, которая работает на iOS8: https://github.com/liamnichols/Reader
Я также отправил запрос на извлечение исходного репо: https://github.com/vfr/Reader/pull/54
Из ReaderDocument.m vfreader автор заявил, что
"Кроме того, // поскольку в iOS 8 каталог ~/Documents приложения больше не находится в // своем пакете, любые связанные PDF-файлы должны быть скопированы в каталог // ~/ приложения для доступа к ним."
Надеюсь, поможет.
Наконец-то остановился на этом:
@synchronized(nil) {
CGContextDrawPDFPage(context, _PDFPageRef);
}
и теперь работает в iOS8.
РЕДАКТИРОВАТЬ: сделал некоторые изменения в коде, и теперь даже это не помогает мне избежать этого сбоя. Но теперь, если я запускаю на устройстве, то это работает. (сбой на симуляторе).
Утечки памяти, иногда хороший путь, иногда неправильный путь:D