Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Einen Terminal-Befehl aus XCode/Objective-C heraus aufrufen?
Einen Terminal-Befehl aus XCode/Objective-C heraus aufrufen?
Z
02.08.06
02:12
Ich habe einen längeren Terminal - Befehl den ich gerne aus einer Anwendung heraus aufrufen möchte. Gibt es einen Befehl um externen Code (also eine Zeile Terminal-Code) aufzurufen?
Hilfreich?
0
Kommentare
Sebastian
02.08.06
04:46
Wie seaside schreibt: NSTask.
Guter Samplecode von Apple ist hier:
Hilfreich?
0
Z
02.08.06
14:29
ich danke Euch!:-X
Hilfreich?
0
Z
02.08.06
23:08
ich bräuchte doch noch etwas Hilfe, hier wäre jetzt der Code-Ausschnitt
- (IBAction)z1Action:(id)sender
{
NSTask *theTask = [ [ NSTask alloc ] init ];
[ theTask setLaunchPath:@"defaults write com.apple.mail UserHeaders '{\"Bcc\"=\"gesendet@meineeigenedomain.de\";}' " ];
}
Eigentlich lautet der Terminal - Befehl:
defaults write com.apple.mail UserHeaders '{"Bcc"="gesendet@meineeigenedomain.de";}'
Damit XCode nicht denkt, die Terminal-Codezeile wäre zu Ende, habe ich jeweils ein Slash vor die Anführungsstriche gesetzt, aber so richtig funktioniert es noch nicht.
Nehme ich normale kleine Unix - Befehle wie ls funktioniert das schon prima. Nur diese etwas längere Terminal-Zeile bekomme ich noch nicht zum Laufen. Ich vermute mal wegen diesen Anführungsstrichen.
Hilfreich?
0
Sebastian
03.08.06
00:00
Escapst Du die Anführungszeichen?
Dann fällt mir auf:
1. Launchpath ist der komplette Pfad
2. "defaults" ist der Befehl. Das dahinter sind die Argumente, die sollten extra übergeben werden.
Hilfreich?
0
Z
03.08.06
10:02
Ich muss ganz ehrlich sagen, dass ich erst vor paar Tagen mit Objective-C angefangen hab, bin erst im Hillegas im 3ten Kapitel.
Wollte aber direkt das gelesen bereits an etwas eigenem umsetzen.
zu 1)
Den Befehl habe ich, bzw. denke ich, dass ich es habe:
Oben hab ich ja den kompletten Befehl wie ich ihn jetzt in XCode habe reinkopiert, ich habe vor jedes " ein BackSlash \ gesetzt, wie ich es von anderen Sprachen her kenne. Oder ist der BackSlash das falsche Zeichen zum Escapen?
zu 2) das hatte ich auch bereits versucht, das werde ich nochmal testen.
Ich vermute eher, dass mein BackSlash nicht das korrekte Zeichen zum escapen ist.
Hilfreich?
0
Z
03.08.06
10:03
EDIT:
Der Satz
"Den Befehl habe ich, bzw. denke ich, dass ich es habe: "
sollte natürlich lauten:
Den Befehl habe ich escaped, bzw. denke ich, dass ich ihn escaped habe:
Hilfreich?
0
dtlmtn
03.08.06
10:35
NSTask funktioniert so:
NSTask *task = [[NSTask alloc] init];
// set complete launch path
[task setLaunchPath:@"/usr/bin/defaults"];
// set arguments
[task setArguments:[NSArray arrayWithObjects:@"write", @"com.apple.mail", @"UserHeaders", @"{\"Bcc\"=\"gesendet@meineeigenedomain.de\";}", nil]];
// run task, wait for exit, get exit code
[task launch];
[task waitUntilExit];
int status = [task terminationStatus];
// release task and display error if any
[task release];
if(status != 0) NSLog(@"Error");
Falls Du keine Ausgaben benötigst (stdout oder stderr), reicht das.
Hilfreich?
0
Z
03.08.06
21:46
dtlmtn
NSTask funktioniert so:
dtlmtn, ich kann mich nur vor die verneigen. Es funktioniert prima auf Anhieb. Wow!
Getrennt nach LaunchtPath und Arguments hatte ich zwar auch schon mal, aber alles in einer Zeile. Auf die zusätzlichen @ wäre ich jetzt nicht gekommen. Danke!
Ich zähle Euch alle 3 zu den ganzen grossen hier im Forum! DANKE!
Hilfreich?
0
seaside
02.08.06
03:16
1. Schritt lade Dir CoCoa Browser runter http://homepage2.nifty.com/hoshi-takanori/cocoa-browser/
NSTask is your friend.
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Doch keine finalen Versionen: Apple gibt zweite...
Facebook & Instagram: Zuckerberg kündigt Aus de...
Neuer Mac: Vorbereitung für den Umzug vom alten...
iPad Pro M4: Hinweise auf geringere Nachfrage
macOS 15.2 steht ab sofort zur Verfügung
PIN-Code erraten: Dauer
20 Jahre Mac mini
iPhone SE 4 von allen Seiten – Dummy aufgetauch...