Frage

Zur Zeit, wenn ich eine Datei mit meinem Programm öffnen kann ich Dateien auf einem Server auswählen, indem Sie in einem NSOpenPanel in der Seitenleiste auf den Servernamen klicken und dann die Datei auswählen. Kein Problem, das funktioniert gut für Verwendung der Datei, solange das freigegebene Verzeichnis montiert ist. Ich bekomme einen Pfad wie „/Volumes/SHARENAME/filename.bla“.

Meine Frage ist, wie bekomme ich den Server-Hostnamen des Computers, von ihm kam. Zum Beispiel, wenn ich auf dem Gerät mit dem Namen SERVER unter „Shared“ im NSOpenPanel geklickt wie komme ich von SERVER „/Volumes/SHARENAME/filename.bla“.

Ich habe in ziemlich viel Dokumentation geschaut und waren nicht in der Lage, eine Lösung für dieses Problem zu finden.

Jede Hilfe zu dieser wird sehr geschätzt. Danke.

War es hilfreich?

Lösung

Dies ist kein Objective-C Art und Weise, dies zu tun, aber manchmal mit popen(..) können Sie Informationen greifen erhalten lassen Sie sich von einem Unix-Befehl analysieren kann.

Beispiel

#include <stdio.h>
#include <string.h>

int main() {
  FILE *fp = popen("df", "r"); // see man page for df
  if (fp) {
    char line[4096];
    while (line == fgets(line, 4096, fp)) {
      if (strstr(line, "/Volumes/SHARENAME")) { // You need the mount point
        char host[256];
        sscanf(line, "%s", host);
        printf("Connected: %s\n", host);
      }
    }
    pclose(fp);
  }
  return 0;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top