I need to open pdf file from file system. I know how to get path to the file, but my IPhone does not open it.
I use the following code renderer:
using Xamarin.Forms;
using IdokladX.Services;
using UIKit;
using Foundation;
[assembly: Dependency(typeof(IdokladX.iOS.Services.PdfViewer))]
namespace IdokladX.iOS.Services {
public class PdfViewer:IPdfViewer {
public void OpenPdf(string filename)
{
FileWorker fl = new FileWorker();
if (fl.Exists(filename))
{
string strPfad = fl.GetFilePath(filename);
var viewer = UIDocumentInteractionController.FromUrl(NSUrl.FromFilename(strPfad));
var controller = GetVisibleViewController();
viewer.PresentOpenInMenu(controller.View.Frame, controller.View, true);
}
}
private UIViewController GetVisibleViewController(UIViewController controller = null)
{
controller = controller ?? UIApplication.SharedApplication.KeyWindow.RootViewController;
if (controller.PresentedViewController == null)
return controller;
if (controller.PresentedViewController is UINavigationController)
{
return ((UINavigationController)controller.PresentedViewController).VisibleViewController;
}
if (controller.PresentedViewController is UITabBarController)
{
return ((UITabBarController)controller.PresentedViewController).SelectedViewController;
}
return GetVisibleViewController(controller.PresentedViewController);
}
}
}
Here FileWorker is a class which contains methods to save/delete/check file if it exists.
What is wrong? I have also added the file type PDF in my Info.plist file.
What is wrong ? Don't advice me to use WebView, I need to open pdf file via another program.

PresentOpenInMenu()? Do you have any other app can open the pdf file? - Kevin Li