如何在IOS混合xamarin应用程序中允许交叉起源

时间:2016-09-20 10:23:08

标签: visual-studio xamarin xamarin.ios xamarin.android cross-domain

我正在使用xamarin开发混合移动应用程序。我在使用PdfTron webviewer在IOS webview中渲染xod文件时遇到问题。我在Android应用程序中也面临同样的问题,但在设置“AllowUniversalAccessFromFileURLs = true”后,它在Android中运行良好。所以问题与交叉起源有关,并且在设定之后起作用。现在我正在寻找IOS中的相同类型的设置。我试过通过头部,但它没有工作。在IOS plist中似乎必须有一些设置。请告诉我IOS xamarin中的“AllowUniversalAccessFromFileURLs”等效设置。

由于 Tarlok

2 个答案:

答案 0 :(得分:1)

我设法通过以下方式实现这一目标:

var config = new WKWebViewConfiguration { UserContentController = userController };
try
{
    config.Preferences.SetValueForKey(NSObject.FromObject(true), new NSString("allowFileAccessFromFileURLs"));
    config.Preferences.SetValueForKey(NSObject.FromObject(true), new NSString("allowUniversalAccessFromFileURLs"));
}
catch (Exception ex)
{

}

var webView = new WKWebView(Frame, config)
{
    NavigationDelegate = new CustomWKNavigationDelegate(this.Element)
};  
SetNativeControl(webView);

允许跨域的工作由SetValueForKey完成,这是唯一的方法,因为没有API可以做到这一点,但要记住的一件事是互联网说这个真的支持。因此try catch

答案 1 :(得分:0)

full_page_cache

据我所知,你只需要将它添加到你的info.plist