Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何在IOS混合xamarin应用程序中允许跨源_Visual Studio_Xamarin_Xamarin.ios_Xamarin.android_Cross Domain - Fatal编程技术网

Visual studio 如何在IOS混合xamarin应用程序中允许跨源

Visual studio 如何在IOS混合xamarin应用程序中允许跨源,visual-studio,xamarin,xamarin.ios,xamarin.android,cross-domain,Visual Studio,Xamarin,Xamarin.ios,Xamarin.android,Cross Domain,我正在使用xamarin开发混合移动应用程序。我在使用PdfTron webviewer在IOS webview中呈现xod文件时遇到问题。我在Android应用程序中也遇到了同样的问题,但在设置“AllowUniversalAccessFromFileURLs=true”后,它在Android中运行良好。所以这个问题和交叉起源有关,并在设定后起作用。现在我在IOS中寻找同样的设置。我试着穿过头部,但不起作用。似乎在IOS plist中必须对此进行一些设置。请让我知道IOS xamarin中的“

我正在使用xamarin开发混合移动应用程序。我在使用PdfTron webviewer在IOS webview中呈现xod文件时遇到问题。我在Android应用程序中也遇到了同样的问题,但在设置“AllowUniversalAccessFromFileURLs=true”后,它在Android中运行良好。所以这个问题和交叉起源有关,并在设定后起作用。现在我在IOS中寻找同样的设置。我试着穿过头部,但不起作用。似乎在IOS plist中必须对此进行一些设置。请让我知道IOS xamarin中的“AllowUniversalAccessFromFileURLs”等效设置

谢谢 塔洛克

NSAPP运输安全
NSAllowsArbitraryLoads

据我所知,您只需将其添加到您的信息中。plist

我通过执行以下操作实现了此功能:

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可以做到这一点,但需要记住的是,互联网上说这个inst确实受支持。因此,
try catch
block

Hi Greensy,谢谢您的回复。我已经进行了设置,但仍然无法在webviewer上渲染xod。似乎IOS正在阻止“xod”扩展。有没有办法允许xamarin info.plist中的所有扩展。我已经查看了Android代码,并在Android中找到了设置“webView.Settings.DomStorageEnabled==true”。因此,我认为IOS中缺少此设置。请告诉我如何在info.plist中设置“DomStorageEnabled”。
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);