У меня есть приложение, которое я разрабатывал в течение некоторого времени. При недавнем запуске приложения с помощью двойного щелчка открывается диалоговое окно, в котором говорится: «Вы не можете открыть приложение RepoWatch, поскольку оно может быть повреждено или неполноценно».
Запуск приложения через open ./RepoWatch.app дает мне сообщение «Невозможно открыть приложение, так как отсутствует его исполняемый файл».
Я обычно запускаю приложение через ./RepoWatch.app/Contents/MacOS/RepoWatch просто по привычке (что работает), поэтому я не уверен, как долго это происходило, или какие изменения произошли непосредственно перед этим. Наиболее вероятным изменением является то, что я поместил cp Info.plist ./RepoWatch.app/Contents/
в свой make-файл, чтобы версия Info.plist не поддерживала все версии в комплекте .app.
Я много раз просматривал Info.plist и не могу найти в нем ничего плохого. Файл открывается в редакторе списка свойств без каких-либо ошибок. Сохранение из редактора списка свойств не заставляет файл «работать» (если он виноват в первую очередь).
Разрешения, насколько я могу судить, также выглядят вменяемыми:
$ 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
Я не знаю, что делать дальше.
А вот содержимое Info.plist (хотя за долгое время ничего не изменилось):
<?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>