2014-10-06 14 views
7

Tôi muốn liệt kê tất cả các tệp trong thư mục được chia sẻ trên iTunes của tôi trong 'Chế độ xem bảng' bằng cách sử dụng Swift.
Tôi kiểm tra trên Google và không ai nói về nó, có vẻ như đó là một nhu cầu không phổ biến, vì vậy nếu có ai đó có thể giúp nó thực sự hữu ích.Liệt kê các tệp trong thư mục được chia sẻ trên iTunes bằng Swift

EDIT: Tôi tìm thấy ba liên kết nói về nó nhưng trong mục tiêu-C, tôi không có kinh nghiệm trong ngôn ngữ này. Nếu ai đó hiểu điều này, đây là các liên kết.

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

Trả lời

9

Dựa trên điều này khách quan-C hướng dẫn http://mobiforge.com/design-development/importing-exporting-documents-ios, tôi tạo ra ba phương pháp: listFilesFromDocumentsFolder mà trả về một danh sách các tên của tất cả các tài liệu tôi có trong ứng dụng iTunes được chia sẻ thư mục và loadFileFromDocumentsFolder tải url cho một tên tệp nhất định và chuyển url đến handleDocumentOpenUrl để tải tệp trên UIWebView. Tìm bên dưới ba phương pháp. Bạn cũng có thể tải về dự án từ github: 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) 
} 

Hy vọng điều này sẽ hữu ích.

+0

Xin chào, cảm ơn phản hồi của bạn nhưng không có gì hiệu quả. Ngay cả bởi git nhân bản repo tôi nhận được rất nhiều lỗi. Nó không thể làm việc và tôi không thể hiểu đầy đủ dự án của bạn vì không có Storyboard. – VivienG

+1

Xin chào VivienG, bạn gặp phải lỗi nào vì tôi đã thử nghiệm ứng dụng trên điện thoại của mình trước khi thực hiện mã. Ngoài ra bạn đang sử dụng phiên bản xcode nào? – euniceadu

+0

VivienG, bạn cũng có thể thêm url vào bản sao để tôi có thể kiểm tra và xem vấn đề là gì – euniceadu

Các vấn đề liên quan