Използвам рамка RebekkaTouch
за качване на файлове от моето приложение Swift на FTP сървър, точно като:
if let URL = NSBundle.mainBundle().URLForResource("myFile", withExtension: "txt") {
let path = "myFile.txt"
session.upload(URL, path: path) {
(result, error) -> Void in
print("result:\n\(result), error: \(error)\n\n")
}
}
Това работи чудесно за файлове, които качвам ръчно чрез Xcode. Но изглежда не мога да намеря пътя на файла за файл, който изтеглям и съхранявам локално в директорията Documents
динамично.
Кажете, знам, че имам този файл: /private/var/mobile/Containers/Data/Application/3D92EA55-01E0/Documents/SomeFile.txt
Знам, че е там, защото получавам пътя след преминаване през NSFileManager.defaultManager()
, но не мога да го конвертирам не NSURL
, за да мога да го кача.
Някакви идеи?
////АКТУАЛИЗАЦИЯ
Това е мястото, където умира:
let file = "myFile.txt"
if let dir : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first {
//path will be stored here
let sPath = dir.stringByAppendingPathComponent(file);
print(sPath) // printing the file path
let url: NSURL = NSURL(string: sPath)!
let destinationFile = "myFile.txt"
FTPSession.upload(url, path: destinationFile) { // <-- Dies here
(result, error) -> Void in
print("- Result:\n\(result), error: \(error)\n\n")
}
}