user979331
user979331

Reputation: 11841

Objective-C UIDocumentInteractionController Couldn't issue file extension for path

I am having an issue with UIDocumentInteractionController, here is my code:

NSURL *URL = [NSURL fileURLWithPath:@"http://www.domain.com/pdf/35.pdf"];

        //NSURL *URL = [[NSBundle mainBundle] URLForResource:@"35" withExtension:@"pdf"];

        if (URL) {
            // Initialize Document Interaction Controller
            self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:URL];

            // Configure Document Interaction Controller
            [self.documentInteractionController setDelegate:self];

            // Preview PDF
            [self.documentInteractionController presentPreviewAnimated:YES];
        }

my console log says this:

Couldn't issue file extension for path: /http:/www.domain.com/pdf/35.pdf

and in my app it displays a gray background and says 35.pdf Portable Document Format (PDF)

what am i doing wrong?

Upvotes: 0

Views: 1626

Answers (1)

rmaddy
rmaddy

Reputation: 318774

An http URL is not a file URL.

This:

NSURL *URL = [NSURL fileURLWithPath:@"http://www.domain.com/pdf/35.pdf"];

needs to be:

NSURL *URL = [NSURL URLWithString:@"http://www.domain.com/pdf/35.pdf"];

But note that UIDocumentInteractionController expects a URL to a local resource, not an Internet URL. So you can't use the above URL at all.

You would need to download and save the PDF file locally first and then create a proper file URL to the local file.

Upvotes: 1

Related Questions