Die Anwendung kann nicht geöffnet werden, weil der ausführbaren Datei fehlt

Ich habe eine Anwendung, die ich entwickeln seit einiger Zeit. Vor kurzem starten der Anwendung über einen Doppelklick zeigt ein Dialogfeld mit der Meldung "Sie können nicht öffnen Sie die Anwendung RepoWatch, weil es möglicherweise beschädigt oder unvollständig ist."

Starten der Anwendung via "öffnen". /RepoWatch.app gibt mir "Die Anwendung kann nicht geöffnet werden, weil der ausführbaren Datei fehlt".

Ich in der Regel starten Sie das Programm über ./RepoWatch.app/Contents/MacOS/RepoWatch einfach aus Gewohnheit (was funktioniert), so bin ich unsicher, wie lange dies geschehen ist, oder welche Veränderung geschah unmittelbar, bevor die hand. Die wahrscheinlichste änderung ist, dass ich cp Info.plist ./RepoWatch.app/Contents/ in mein make-Datei, um die version Info.plist ohne Versionierung alles in der .app-bundle.

Ich habe mir bei Info.plist viele Male, und nicht finden können nichts falsch mit ihm. Die Datei öffnet sich mit Property List Editor ohne Fehler. Speichern von Property List Editor nicht machen, die Datei "Arbeit" (wenn es ist die Schuld in Erster Linie).

Die Berechtigungen soweit ich das sagen kann, sehen auch gesund:

$ ls -l
./RepoWatch.app/Contents/Info.plist
-rw-rw-r--@ 1 dgrace  staff  789 Feb  1 23:20 ./RepoWatch.app/Contents/Info.plist
$ ls -l
/Applications/Adium.app/Contents/Info.plist
-rw-rw-r--  1 dgrace  staff 5750 Aug 21 15:41 /Applications/Adium.app/Contents/Info.plist

Ich bin an einem Verlust, was zu versuchen nächsten.

Und hier der Inhalt der Info.plist (obwohl sich eigentlich nichts geändert in eine Weile):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>RepoWatch</string>
    <key>CFBundleIdentifier</key>
    <string>com.doomstick.RepoWatch</string>
    <key>CFBundleName</key>
    <string>RepoWatch</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0.0</string>
    <key>LSMinimumSystemVersion</key>
    <string>10.6</string>
    <key>CFBundleVersion</key>
    <string>Beta26</string>
    <key>NSMainNibFile</key>
    <string>MainMenu</string>
    <key>NSPrincipalClass</key>
    <string>NSApplication</string>
</dict>
</plist>
  • Hast du vergessen, die Ausgabe von ls -l /Applications/Adium.app/Contents/Info.plist, oder haben Sie nicht bedeuten, um diesen Befehl in den ersten Platz?
  • Ich hatte Probleme mit der Formatierung dieses Blocks und es wurde irgendwie gelöscht. Es ist aufgenommen worden. Ich habe auch entfernt die erweiterten Attribute von meiner Datei sind und keinen Unterschied gemacht.
  • "... Ich bin unsicher, wie lange dies geschehen ist, oder welche Veränderung geschah unmittelbar, bevor die hand." Wenn Ihre version-control-system hat eine halbieren Befehl, jetzt wäre die Zeit, es zu benutzen. (Wenn Sie nicht mit version control, dies ist ein schöner Beweis für einen Grund, dies zu tun.)
  • Ich habe nicht die .app oder etwas darunter, der unter der version Kontrolle. Das ist der Grund, warum ich umgezogen Info.plist aus, so könnte es effektiv sein, die unter Versionskontrolle. Halbieren nicht helfen. Alle von Ihnen waren "schlecht", weil es etwas außerhalb der Versionskontrolle, wie es scheint. Die einfache Lösung ist wahrscheinlich in den Papierkorb der .app und erstellen Sie es neu. Aber ich bin sehr neugierig, was das zugrunde liegende problem ist.
  • Ich habe das gleiche problem. Die .app funktioniert, aber wenn ich es kopieren (von dieser Frage es sieht aus wie etwas, das ändert sich mit Info.plist) mit Hilfe von Ant Stoppt es starten, aber wenn ich kopiere es manuell funktioniert es noch.
InformationsquelleAutor Daniel Grace | 2010-02-02
Schreibe einen Kommentar