如何在Xamarin iOS中定位目录资源

3

我目前正在使用Xamarin.iOS,尝试从项目资源和项目目录中的目录中获取数据。但是在获取信息时,我无法获取数据。甚至可以看到整个目录未复制到应用程序包本身中。

以下是我的代码。

string localHtmlUrl = Path.Combine(NSBundle.MainBundle.BundlePath,
                                   string.Format("NewFolder/webref/index.html")
                      );

你有什么进展吗?你能像下面的截图一样展示你的文件在哪里吗? - Iain Smith
1个回答

5
从这个示例中,我认为你所需要的只有这个:
string fileName = "NewFolder/webref/index.html"; // remember case-sensitive
string localHtmlUrl = Path.Combine (NSBundle.MainBundle.BundlePath, fileName);
webView.LoadRequest(new NSUrlRequest(new NSUrl(localHtmlUrl, false)));

如果您有这样的文件夹结构:

enter image description here

如果它在你的“资源”文件夹中,那么你需要像这样将其放在你的路径中:
string fileName = "Resource/NewFolder/webref/index.html";

记得Build Action设置为BundleResource,以便对所有文件进行打包。

也可以尝试这个:

var fileName = "NewFolder/webref/index.html";
webView.LoadHtmlString (File.ReadAllText (fileName), NSUrl.FromFilename (fileName));

感谢Lain在这里指导我,我发现了一个问题,就是我在我的Xamarin.iOS项目中添加了目录结构,但是在调试时,我发现完整的目录结构没有被复制到应用程序包中。因此,在这种情况下,我无法获取所需的文件index.html。 - Musheer Enarka
你是否将所有文件的构建操作设置为BundleResource? - Iain Smith
对我来说,现在它可以工作了,谢谢 lain 帮助我,我必须选择每个目录中的所有文件,然后适当地提供操作并访问文件夹。 - Musheer Enarka
太棒了,很高兴它起作用了!如果你觉得某个答案解决了问题,请点击绿色的勾选标记将其标记为“已接受”。这有助于保持对仍未得到答案的旧SO问题的关注。 - Iain Smith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接