Jak uzyskać wyjście aplikacji os x na konsoli lub do pliku?

Piszę aplikację Cocoa z wbudowanym Mono. Chcę uruchomić i zobaczyć moje wyjście debugowania w Terminalu. Na stronie kakao używam NSLog(), a na stronie Mono używam Debug.Write(). Mogę zobaczyć moje wyjście debugowania w konsoli xcode, ale nie w Terminalu. Tego właśnie próbowałem:

$: open /path/build/Debug/MyProgram.app
$: open /path/build/Debug/MyProgram.app > output
$: open /path/build/Debug/MyProgram.app 2> output

W terminalu, ale nie moje wyjście na konsoli lub w 'ouput'.

Jaka jest prawidłowa Komenda?

PS. Moim ostatecznym celem jest napisanie wtyczki vim do zarządzania, budowania, uruchamiania, debugowania projekt xcode. Możesz zaoszczędzić mi tego kłopotu, jeśli możesz uruchomić ten vi input manager do pracy z xcode.

Author: Mike Lischke, 2008-12-13

4 answers

Chris dał dobry przegląd tego, jak działa konsola, ale aby konkretnie odpowiedzieć na twoje pytanie: jeśli chcesz zobaczyć wyniki bezpośrednio w Terminalu, musisz uruchomić zbudowany produkt jako dziecko terminala, co oznacza użycie czegoś w rodzaju

/path/debug/build/MyProgram.app/Contents/MacOS/MyProgram

Aby uruchomić aplikację.

 54
Author: Kevin Ballard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-24 22:52:10

Terminal na Mac OS X to tylko kolejna aplikacja. Otwieranie okna terminala dla wejścia/Wyjścia tekstowego nie jest nieodłączną możliwością każdej aplikacji, tak jak w systemie Windows.

Ponadto, open /path/to/MyApp.app nie wykonuje MyApp.aplikacja jako podproces powłoki, wysyła wiadomość do infrastruktury uruchamiania systemu operacyjnego z prośbą it, aby wykonać aplikację w normalny sposób, tak jak gdyby została dwukrotnie kliknięta w Finderze lub w Docku. Dlatego nie jesteś w stanie aby po prostu przekierować jego wyjście, aby zobaczyć, co aplikacja wysyła do stdout lub stderr.

Możesz użyć konsoli.aplikacja, aby zobaczyć wyjście aplikacji uruchomionych w normalny sposób, ponieważ infrastruktura uruchamiania wysyła tam swoje stdout i stderr. Możesz również użyć procedury asl do odpytywania dziennika, lub wykonać bardziej wyrafinowane logowanie, jeśli chcesz.

 12
Author: Chris Hanson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-07 21:17:28

Otwórz Konsolę.aplikacja w /Applications/Utilities. Wszystkie dane wyjściowe NSLog zostaną wydrukowane w dzienniku systemowym.

Lub, jeśli uruchomisz go z Xcode, wszystkie dane wyjściowe zostaną wydrukowane w konsoli debugowania.

Nie jestem teraz na moim Macu i nie pamiętam sekwencji poleceń lub menu, w którym znajduje się konsola debugowania, ewentualnie Menu Build?

 10
Author: Grant Limberg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-07 21:18:23

Przegląd

Chodzi o to, aby po prostu uruchomić aplikację z wiersza poleceń za pomocą iOS-deploy .

Instrukcje

  1. Install iOS-deploy
  2. Uruchom aplikację z xcode (upewnij się, że działa pomyślnie)
  3. przejdź do menu xcode > preferencje > lokalizacje i kliknij strzałkę w danych pochodnych: Tutaj wpisz opis obrazka
  4. w katalogu danych pochodnych poszukaj swojego .plik aplikacji pod Build/intermediates / Products
  5. w terminalu typu po ios-deploy --debug --bundle następnie przeciągnij .plik aplikacji od kroku 4 do terminala.. powinieneś mieć coś takiego ios-deploy --debug --bundle path/to/your/applicationName.app i to wszystko! Aplikacja powinna się pomyślnie uruchomić, a wszystkie dzienniki trafią do twojego terminala.
 0
Author: abbood,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-01 08:05:33