2016-04-27 9 views
2

Ich arbeite derzeit mit Xamarin.iOS und versuche, Daten aus dem Verzeichnis innerhalb meines Projektressourcen- und Projektverzeichnisses abzurufen. Aber ich kann beim Abrufen von Informationen keine Daten abrufen. Ich kann sogar sehen, dass das gesamte Verzeichnis nicht im Anwendungspaket selbst kopiert wird.So finden Sie eine Verzeichnisressource in Xamarin ios

Unten ist mein Code.

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

ein wenig Glück mit diesem? kannst du zeigen, wo deine Dateien im Screenshot unten sind? –

Antwort

2

Von diesem sample denke ich, alles, was Sie benötigen, ist dieses:

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))); 

Wenn Sie eine Ordnerstruktur wie folgt:

enter image description here

Wenn es in Ihrem Resource Ordner dann müssen Sie das in Ihren Weg wie folgt setzen:

string fileName = "Resource/NewFolder/webref/index.html"; 

Erinnern Sie sich die Build Action-BundleResource für alle Dateien zu setzen.

Könnte auch diese versuchen:

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

Danke für die Führung hier, ich fand das Problem, dass ich Verzeichnisstruktur, die ich in meinem Xamarin.ios-Projekt hinzugefügt habe, aber während des Debuggen kann ich sehen, vollständige Verzeichnisstruktur wird nicht in App-Bundle kopiert. In diesem Fall kann ich die gewünschte Datei index.html nicht bekommen. –

+0

Haben Sie die Build-Aktion auf BundleResource für alle Dateien festgelegt? –

+0

Für mich Es funktioniert jetzt, Danke, dass Sie mir geholfen haben, ich muss alle Dateien in jedem Verzeichnis auswählen, dann entsprechende Aktionen ausführen und auf den Ordner zugreifen. –