2014-10-06 5 views
7

Ich möchte alle Dateien in meinem freigegebenen iTunes-Ordner in einer 'Tabellenansicht' mit Swift auflisten.
Ich schaue auf Google und niemand darüber reden, es sieht aus wie es ein ungewöhnliches Bedürfnis ist, also wenn jemand helfen kann, wäre es wirklich hilfreich.Dateien im freigegebenen Ordner von iTunes mit Swift anzeigen

EDIT: Ich habe drei Links gefunden, die darüber sprechen, aber in Objective-C habe ich keine Erfahrung in dieser Sprache. Wenn jemand das versteht, hier sind die Links.

http://www.exampledb.com/objective-c-get-itunes-file-sharing-folder-files-with-full-path.htm
http://www.infragistics.com/community/blogs/stevez/archive/2013/10/14/ios-objective-c-working-with-files.aspx
http://www.raywenderlich.com/1948/itunes-tutorial-for-ios-how-to-integrate-itunes-file-sharing-with-your-ios-app

Antwort

9

Basierend auf dieser Objective-C Tutorial http://mobiforge.com/design-development/importing-exporting-documents-ios, habe ich drei Methoden: listFilesFromDocumentsFolder, die eine Liste mit den Namen aller Dokumente zurückgibt ich in der haben apps iTunes shared folder und loadFileFromDocumentsFolder lädt die URL für einen bestimmten Dateinamen und übergibt die URL an handleDocumentOpenUrl zum Laden der Datei auf einem UIWebView. Finden Sie unten die drei Methoden. Sie können auch das Projekt von Github herunterladen: https://github.com/Euniceadu/Load-Shared-Documents

listFilesFromDocumentsFolder

func listFilesFromDocumentsFolder() { 
    var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 
    var documentsDirectory : String; 
    documentsDirectory = paths[0] as String 
    var fileManager: NSFileManager = NSFileManager() 
    var fileList: NSArray = fileManager.contentsOfDirectoryAtPath(documentsDirectory, error: nil)! 
    var filesStr: NSMutableString = NSMutableString(string: "Files in Documents folder \n") 
    for s in fileList { 
     filesStr.appendFormat("%@", s as String) 
    } 

    self.displayAlert(filesStr) 
} 

loadFileFromDocumentsFolder

func loadFileFromDocumentsFolder(fileName: String) { 
    var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 
    var documentsDirectory : String; 
    documentsDirectory = paths[0] as String 
    var filePath: String = documentsDirectory.stringByAppendingPathComponent(fileName); 
    var fileUrl: NSURL = NSURL(fileURLWithPath: filePath); 
    self.handleDocumentOpenURL(fileUrl) 

} 

handleDocumentOpenUrl

func handleDocumentOpenURL(url: NSURL) { 
    var requestObj = NSURLRequest(URL: url) 
    webView.userInteractionEnabled = true 
    webView.loadRequest(requestObj) 
} 

Hoffe, das hilft.

+0

Hallo, vielen Dank für Ihre Antwort, aber nichts funktioniert. Sogar durch das Klonen des Repos habe ich viele Fehler bekommen. Es kann nicht funktionieren und ich kann Ihr Projekt nicht vollständig verstehen, da es kein Storyboard gibt. – VivienG

+1

Hallo VivienG, welche Fehler bekommst du, weil ich die App auf meinem Telefon getestet habe, bevor ich den Code beging. Welche Version von xcode benutzt du? – euniceadu

+0

VivienG, Sie können auch die URL zum Klon hinzufügen, so kann ich es überprüfen und sehen, was das Problem ist – euniceadu