Tengo una aplicación que he estado desarrollando desde hace algún tiempo. Recientemente, el lanzamiento de la aplicación mediante un doble clic presenta un diálogo que dice "No se puede abrir la aplicación RepoWatch porque puede estar dañada o incompleta".La aplicación no se puede abrir porque falta su ejecutable
Al iniciar la aplicación a través de abierto ./RepoWatch.app me aparece "La aplicación no se puede abrir porque falta su ejecutable".
Normalmente ejecuto la aplicación a través de ./RepoWatch.app/Contents/MacOS/RepoWatch simplemente por puro hábito (lo cual SÍ FUNCIONA), por lo que no estoy seguro de cuánto tiempo ha estado sucediendo esto, o qué cambio sucedió inmediatamente antes de la mano. El cambio más probable es que coloque cp Info.plist ./RepoWatch.app/Contents/
en mi archivo de creación para versionar Info.plist sin versionar todo en el paquete .app.
He consultado Info.plist muchas veces y no encuentro nada incorrecto en él. El archivo se abre con Property List Editor sin ningún error. Guardar desde el Editor de listas de propiedades no hace que el archivo "funcione" (si es culpa suya en primer lugar).
Los permisos por lo que yo puedo decir también buscan cuerdo:
$ ls -l
./RepoWatch.app/Contents/Info.plist
[email protected] 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
Estoy en una pérdida en cuanto a lo que debe probar la próxima.
Y aquí están los contenidos de Info.plist (A pesar de que nada ha cambiado en mucho tiempo):
<?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>
¿Olvidó incluir la salida de 'ls -l/Applications/Adium.app/Contents/Info.plist', o no quiso incluir ese comando en primer lugar? –
Estaba teniendo problemas con el formateo de ese bloque y se eliminó de alguna manera. Se ha agregado. También eliminé los atributos extendidos de mi archivo y eso no hizo diferencia. –
"... No estoy seguro de cuánto tiempo ha pasado esto, o qué cambio sucedió inmediatamente antes de la entrega". Si su sistema de control de versiones tiene un comando de bisección, ahora sería el momento de usarlo. (Si no está utilizando el control de versiones, esta es una buena demostración de un motivo para hacerlo). –