Я пытаюсь открыть файл PDF, который я сохранил локально в своем приложении в iBooks. Приложение в настоящее время имеет список «литература» в представлении таблицы, и когда каждая ячейка прослушивается, приложение переходит к webView, который отображает PDF-файл (отлично работает). Я сделал BarButton в правом верхнем углу на navBar, чтобы пользователь мог открыть PDF в iBooks (чтобы они могли хранить его на своем устройстве).Открыть локальный файл PDF в iBooks
Пока кнопка откроет UIDocumentInteractionController
, в которой отображаются все приложения на устройстве, которые могут открыть файл (после проверки установки iBooks). Затем, когда я нажимаю значок iBooks, приложение падает. Я смог пересмотреть код, чтобы iBooks открывался без сбоев, но файл PDF не переносится, поэтому он не имеет смысла (код ниже возвращается обратно, когда он сбой).
код ниже находится внутри IBAction в barButton ...
NSString *path = [[NSBundle mainBundle] pathForResource:litFileName ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
UIDocumentInteractionController *docController = [UIDocumentInteractionController interactionControllerWithURL:targetURL];
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"itms-bookss:"]])
{
[docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];
NSLog(@"ibooks is installed");
}
else
{
NSLog(@"no ibooks installed");
}
Не уверен точно, как это сделать ... Я пробовал: NSArray * тропинки = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); NSString * documentsDirectory = [paths objectAtIndex: 0]; NSString * filePath = [documentsDirectory stringByAppendingString: [NSString stringWithFormat: @ "% @. Pdf", litFileName]]; NSURL * url = [NSURL fileURLWithPath: filePath]; SAME ERROR – RyanZ
Вы неправильно добавляете файл в путь, вы должны использовать 'stringByAppendingPathComponent:' не просто добавить строку – rckoenes