| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jun 2007
Beiträge: 9
| Air Badge
Hallo, ich habe mir eine Konsolen-Anwendung in C# geschrieben, die überprüft ob eine Installation der Air-Runtime vorliegt und ggf. nachinstalliert. Anschließend wird überprüft ob die Air-Anwendung installiert ist und auch ggf. nachinstalliert. Funktioniert einwandfrei (XP, Vista und Seven). Außerdem werden die gespeicherten Benutzerdaten bei einer neuinstallation gelöscht, da Air diese Funktionalität leider nicht zur Verfügung stellt. Das gleiche habe ich für Mac in c programmiert. Funktioniert auch einwandfrei, wenn ich es in xcode ausführe, doch wenn ich das App-Bundle selbst starte wird der Pfad nicht richtig erkannt. Habe nachgelsen, dass der Pfad zur Binary und nicht zum App-Bundle zurückgegeben wird. Dafür habe ich eine Funktion geschrieben, die mir den Pfad vom Anfang des String bis zum ersten vorkommen von .app zurückgibt, da ich keine andere Möglichkeit gefunden habe. Hilft aber leider auch nicht. Ich habe also kein Ahnung, welcher Pfad mit von getcwd zuirückgegeben wird. Was ich auch schon probiert habe ist, zu Prüfen ob mir der Pfad übergeben wurde und den zu verwenden. <code> if(argc > 0) cwd(argv[0]); </code> Würde mich freuen, wenn jemand eine Idee hat oder die Problematik selbst kennt. Würde auch den c, sowie den c# Code freigeben. Habe hier im Forum schon öfter Beiträge gesehen, die eigentlich so eine Funktionalität benötigt hätten. Air 2.0 dauert halt noch ein wenig. Geändert von a.stueben (12-03-2010 um 09:07 Uhr) |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Jun 2007
Beiträge: 9
| Lösung
Hier die Lösung: Code: // Liefert Absoluten Pfad zum .app Verzeichnis // Bsp.: /Users/Ich/Application.app NSString* appBundlePath = [[NSBundle mainBundle] bundlePath]; // NSString zu C String konvertieren const char* cAppBundlePath = [appBundlePath cStringUsingEncoding:NSASCIIStringEncoder]; // Jetzt muss nur noch Application.app abgeschnitten werden // und man kann Dateien die neben der App liegen ansprechen. // Das hat leider mit getcwd() nicht funktioniert, da der falsche Pfad // zurückgegeben wurde. |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| air, app, exe |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| AIR Install Badge: Autostart-Checkbox ausgrauen | KeyifR | Adobe AIR | 0 | 19-10-2009 18:46 |