Gibt es irgendwelche Frameworks für sagen, eine Anzeige wie in Terminal.app in MY App, und dann darauf Text wie normale Ausgabe auf STDOUT anzeigen? Komplett mit Scrollback und etc.?Setzen Sie ein "Terminal" in meine Anwendung?
7
A
Antwort
3
This thread hat ein paar Vorschläge. Die erste ist sehr UNIX'y - Sie verwenden pipe(), um stdout an einen neuen Ort zu mappen. Dann benötigen Sie einen anderen Prozess oder einen Thread, der diese Pipe liest und in einer NSTextView anzeigt. Der andere Ansatz, den ich mag, da es sauberer und weniger ressourcenintensiv erscheint, ist das Ersetzen des File_writer_t _write proc im stdout() FILE Pointer durch den gewünschten Hook, der die Ausgabe in ein NSTextView schreibt.
4
Sie können sich iTerm ansehen, einen Open-Source-Terminalemulator, der in Cocoa geschrieben wurde. Wenn Sie eine Terminalemulation wirklich möchten, können Sie möglicherweise von diesem Framework abheben.
Verwandte Themen
- 1. Setzen Sie den Systemfokus auf meine Anwendung
- 2. DotNetZip friert meine Anwendung ein?
- 3. Code friert meine Anwendung ein
- 4. Setzen Sie ein Fragment in ein anderes
- 5. Terminal-Mac-Anwendung programmgesteuert beenden?
- 6. starten Sie ein xcodeproj von Terminal
- 7. Führen Sie ein Programm auf Boot in Linux in Terminal
- 8. Setzen Sie ein instanceField in Byte Buddy
- 9. Wie Terminal-Befehl in Android-Anwendung ausführen?
- 10. Starten Sie eine Java-Anwendung mit dem Terminal
- 11. Setzen Sie ein Objekt in Handler Nachricht
- 12. Setzen Sie ein Textbanner in die Navigationsleiste
- 13. Einbetten einer Anwendung (in diesem Fall ein Terminal) innerhalb einer QT-Anwendung
- 14. meine Anwendung Naming in android
- 15. POS-Anwendung mit VeriFone-Terminal integrieren
- 16. So öffnen Sie meine Anwendung im Querformat
- 17. Starten Sie meine Anwendung auf genymotion
- 18. Zugang meine Anwendung in AWS
- 19. Wie autorisiere ich eine Anwendung in einem Terminal in Ubuntu?
- 20. Wie benachrichtigen Sie meine Server-Anwendung?
- 21. Setzen Sie eine Variable auf ein Modul
- 22. Wie füge ich einen Dateibrowser in meine Java-Anwendung ein?
- 23. Löschen Sie meine Anwendung programmgesteuert (Android)
- 24. Erweitern Sie meine Java-Anwendung mit R?
- 25. Setzen Sie den Fokus in einer Android-Anwendung
- 26. Sie müssen ein RadioButton für jede Zeile in einer DataGrid-Ansicht in einer WinForm-Anwendung setzen.
- 27. Text in ein Terminal in Emacs einlesen
- 28. So fügen Sie ein Paket in meine JAR-Datei ein
- 29. Setzen Sie einen HTML-Link zu der R Shiny-Anwendung
- 30. Erstellen Sie ein Countdown-Dialogfeld für ein Linux-Terminal?