2009-08-04 5 views
1

In Objective-C Auflösen hat NSString ein Verfahren

stringByExpandingTildeInPath 

Diese Methode gibt eine Zeichenfolge nehmen wie "~/Documents" genannt und es zu „/ Benutzer lösen/Nick/Dokumente ". Die "~" Tilde wird in das Ausgangsverzeichnis des aktuellen Benutzers der Maschine aufgelöst, auf der das Programm läuft.

Nun meine Frage ist dies ... Ich schreibe ein kleines FTP/SFTP-Dienstprogramm mit Cocoa und Objective-C. Wie kann ich einen Tilde (~) Pfad auf dem entfernten Rechner via FTP/SFTP auflösen?

Zum Beispiel. Ein Benutzer möchte eine Datei

sftp://remote-host.com:~/ 

hochladen Wenn remote-host.com ein Linux oder OSX Server ist, dann ist dieser Weg ist völlig gültig. Das Hochladen einer Datei funktioniert jedoch nur, wenn ich den absoluten Pfad festlege. Ich bin mir nicht sicher, ob dies eine Einschränkung des Frameworks ist, das ich verwende, ConnectionKit, oder wenn dies etwas ist, das ich manuell implementieren muss. Ich bin ok mit letzterem, aber irgendwelche Vorschläge wie?

Antwort

2

Sie könnten versuchen, nur die "~ /" (und den Rest als relativer Pfad) zu entfernen - im Allgemeinen sollte der Server Sie standardmäßig in das Home-Verzeichnis des Benutzers, wenn Sie eine Verbindung herstellen.

+0

Wow, daran habe ich nicht einmal gedacht ... Definitiv funktioniert. Vielen Dank. – nrj