AlexC
AlexC

Reputation: 9661

Objective-C delegate incompatible type

I am using http://www.vfr.org/, pdf viewer, and I try to add a button to open PDF in IBOOK.

I added the button and action to it, but I stuck t the moment when I want open ibooks application with this pdf.

I tried 2 solutions:

  1. button tapped action:

    NSURL *fileURL = document.fileURL;
    NSString *fileName = document.fileName; // Document
    [[UIApplication sharedApplication] openURL:fileURL];
    

It opens the IBOOKS but the PDF never gets loaded.

I am assuming the URL format can be wrong I tried even hard code a PDF URL like:

NSString *stringURL = @"itms-books://linktopdf.pdf";     
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

But the same result.

2) Button tapped action:

    NSURL *fileURL = document.fileURL;
    NSString *fileName = document.fileName; // Document
    UIDocumentInteractionController *docController = [[UIDocumentInteractionController alloc] init];
    docController = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
    docController.delegate = self;

But I have an warning where I try to delegate: docController.delegate = self;

assigning to id UIDocumentInteractionControllerDelegate from Incompatible ReaderViewController

Can someone help me to make it work at least 1 of these solution.

Upvotes: 0

Views: 250

Answers (2)

iPatel
iPatel

Reputation: 47059

Your class must conform to the UIDocumentInteractionControllerDelegate protocol, so in your .h file make it look like

@interface ReaderViewController : PerantClass <UIDocumentInteractionControllerDelegate>
{

...

}

Then the compiler will know that your class conforms to that protocol. Of course, you still need to implement the needed methods.

ALso Check this Link - 1 And Link - 2.

Upvotes: 0

Larme
Larme

Reputation: 26036

Has the ReaderViewController this kind of line in the header file: @interface ReaderViewController : NSObject < UIDocumentInteractionControllerDelegate > ?

Upvotes: 1

Related Questions