Wie Programme (.app) mit Argumenten starten?

Dieses Thema im Forum "Mac Spiele" wurde erstellt von firefoxuser, 07.06.2006.

  1. firefoxuser

    firefoxuser Thread Starter MacUser Mitglied

    Beiträge:
    437
    Zustimmungen:
    1
    MacUser seit:
    27.04.2005
    Hallo,
    Es ist jetzt schon öfters vorgekommen, das bei bestimmten Anleitung der Start eines Programms mit Argumenten (bsp. -fx) benötigt wird.
    Ich weiß natürlich, wie so etwas unter Windows, oder Linux funktioniert, aber wie macht man das, wenn man eine Mac Binary in Form einer *.app Datei hat?
    Code:
    /Applications/MyApp.app/Contents/MacOS $ ./MyApp someargument
    wird bei mir übrigens mit -bash: ./MyApp: cannot execute binary file beantwortet.
     
  2. der_Kay

    der_Kay MacUser Mitglied

    Beiträge:
    1.693
    Zustimmungen:
    7
    MacUser seit:
    02.09.2004
    Zum Starten einer .app gibt es "open", das leitet aber keine Kommandozeilenargumente weiter. Direktes Ausführen eines Binaries im Terminal mit Argumenten muss aber klappen, nur heissen die binaries oft nicht so wie das Präfix des .app-Verzeichnisses.

    Im Zweifelsfalle in ../Contents/Info.plist den Wert von CFBundleExecutable mit dem PropertyList Editor lesen oder einfach mit ls -l nachschauen. ;)
     
    Zuletzt bearbeitet: 07.06.2006
  3. sECuRE

    sECuRE MacUser Mitglied

    Beiträge:
    566
    Zustimmungen:
    6
    MacUser seit:
    25.06.2005
    Hi,

    hast du nen Intelmac und das Programm ist nur für PowerPC? Ansonsten könnte ich mir das nämlich nicht erklären. Programme kann ich schon immer direkt starten (cd /Applications/iTunes.app/Contents/MacOS && ./iTunes).

    Parameter über die Kommandozeile sind bei Mac OS X-Programmen sehr unüblich, man bekommt die via Cocoa-Funktionen übergeben (zum Beispiel Dateinamen, wenn man aus dem Finder aufgerufen wird). Bei den UNIX-Programmen, die dabei sind, funktioniert das natürlich wie gewohnt (zB ls/cd/ssh, klar...). Als Programmierer könnte man die übergebenen Parameter natürlich auswerten, hab mir aus Neugierde schon mal ne Testanwendung dafür geschrieben.

    cu
     
  4. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Und worum geht es genau?
     
  5. firefoxuser

    firefoxuser Thread Starter MacUser Mitglied

    Beiträge:
    437
    Zustimmungen:
    1
    MacUser seit:
    27.04.2005
    Also genau geht es um das Spiel Jedi Knight: Jedi Academy, dass man für einen bestimmten MOD mit dem Argument "+set fs_game "MBII"" starten muss.
     
  6. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Was sagt
    Code:
    ls -la "/Applications/Jedi Academy/Jedi Academy MP.app/Contents/MacOSClassic"
     
  7. sECuRE

    sECuRE MacUser Mitglied

    Beiträge:
    566
    Zustimmungen:
    6
    MacUser seit:
    25.06.2005
    Hi,

    ja, bei Classic Anwendungen ist das etwas anderes. Versuch das mal so:
    cu
     
  8. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Seit wann liegen Classic Anwendungen in *.app Paketen vor?
     
  9. sECuRE

    sECuRE MacUser Mitglied

    Beiträge:
    566
    Zustimmungen:
    6
    MacUser seit:
    25.06.2005
    Hi,

    Maceis: Weiß ich nicht. Könnte auch sein, dass es eine CFM-Anwendung ist, die müssen auch im Folder MacOSClassic abgelegt werden.

    cu
     
  10. firefoxuser

    firefoxuser Thread Starter MacUser Mitglied

    Beiträge:
    437
    Zustimmungen:
    1
    MacUser seit:
    27.04.2005
    Danke, das Startet zumindestens das Spiel (das übrigens sonst auch immer ohne Classic lief), allerdings wird das Argument trotzdem nicht übergeben.(das Game startet ohne den MOD)

    Danke!
     
Die Seite wird geladen...