为什么 NSBundle.MainBundle.GetUrlForResource 返回 null
Why is NSBundle.MainBundle.GetUrlForResource returning null
我正在使用 UIWebView 查看本地 HTML 文件。我的文件名为 NoWiFi.html 并具有以下路径 Resources/NoWiFi.html。我还将构建操作设置为 BundleResource,并尝试:
string name = "Resources/NoWiFI.html"
NSURl url;
url = new NSUrl(Path.Combine(NSBundle.MainBundle.BundlePath, name), false);
// and
url = NSBundle.MainBundle.GetUrlForResource("NoWiFi", "html"); // returns null
webView.LoadRequest(new NSUrlRequest(url));
如 xamarins documentation
但随后我收到错误消息:在此服务器上找不到请求的 URL
为什么我的代码找不到文件?
因为你加载本地 html 文件。所以你应该使用
webView.LoadRequest(new NSUrlRequest(url),false);
isDir:一个布尔值,指定在解析相对路径组件时是否将路径视为目录路径。如果路径指示目录,则传递 True,否则传递 False。
由于某些有线原因,我的问题在我重命名文件后自行解决,如果其他人试图加载本地 HTML 文件,我的代码如下所示:
NSUrl url = NSBundle.MainBundle.GetUrlForResource("NoWiFi", "html");
webView.LoadRequest(new NSUrlRequest(url));
并且如果您的 url 对象在您使用调试器检查它时为空,请确保本地文件(在我的例子中 NoWiFi.html)已将构建操作设置为:BundleResource 并且如果 NSUrl对象仍然为空,请尝试重命名文件
我正在使用 UIWebView 查看本地 HTML 文件。我的文件名为 NoWiFi.html 并具有以下路径 Resources/NoWiFi.html。我还将构建操作设置为 BundleResource,并尝试:
string name = "Resources/NoWiFI.html"
NSURl url;
url = new NSUrl(Path.Combine(NSBundle.MainBundle.BundlePath, name), false);
// and
url = NSBundle.MainBundle.GetUrlForResource("NoWiFi", "html"); // returns null
webView.LoadRequest(new NSUrlRequest(url));
如 xamarins documentation 但随后我收到错误消息:在此服务器上找不到请求的 URL
为什么我的代码找不到文件?
因为你加载本地 html 文件。所以你应该使用
webView.LoadRequest(new NSUrlRequest(url),false);
isDir:一个布尔值,指定在解析相对路径组件时是否将路径视为目录路径。如果路径指示目录,则传递 True,否则传递 False。
由于某些有线原因,我的问题在我重命名文件后自行解决,如果其他人试图加载本地 HTML 文件,我的代码如下所示:
NSUrl url = NSBundle.MainBundle.GetUrlForResource("NoWiFi", "html");
webView.LoadRequest(new NSUrlRequest(url));
并且如果您的 url 对象在您使用调试器检查它时为空,请确保本地文件(在我的例子中 NoWiFi.html)已将构建操作设置为:BundleResource 并且如果 NSUrl对象仍然为空,请尝试重命名文件