Приложение не может быть открыто, потому что его исполняемый файл отсутствует

13
задан Daniel Grace 2 February 2010 в 16:55
поделиться

3 ответа

Проблема, вероятно, из-за недействительной свойства CFBundlexecutable в файле info.plist , который вы копируете в приложение.

В проектах Xcode значение по умолчанию для этого свойства является специальной переменной (заполнителем) значение ( $ {exputable_name} ), которое расширено (заменено), когда система сборки строит приложение. Вы уверены, что вам нужно скопировать этот файл вручную? Может быть, вы можете добавить фазу сборки сценариев, которая делает любые изменения, необходимые после , он был расширен и скопирован на место с помощью нормального процесса сборки.

Пока вы находитесь на этом, вы должны проверить наличие других значений заполнителей в файле. Вполне вероятно, что вам нужно будет заполнить CFBundLename (другие также могут быть необходимы, в зависимости от типа вашего приложения).

6
ответ дан 1 December 2019 в 20:00
поделиться

Хорошо, еще несколько снимков в темноте.

  1. В документации для LSMinimumSystemVersion говорится, что значение должно быть строкой в ​​форме n.n.n . Вы можете попробовать добавить «.0» к концу своего значения.
  2. При использовании ./ RepoWatch.app / Contents / MacOS / RepoWatch , чтобы запустить его вручную, используете ли вы какой-либо вид автозавершения или генерации имени файла, или вы вводите все это (особенно имя исполняемого файла)? {{1 }}
    • Возможно, в имени исполняемого файла есть какой-то странный невидимый / объединяющий / похожий символ, который не соответствует значению в Info.plist . Попробуйте ls -w /path/to/RepoWatch.app/Contents/MacOS/ | xxd , чтобы посмотреть в байтах что-нибудь, кроме ASCII.
  3. Выдает ли plutil -lint /path/to/Info.plist «ОК»?
  4. @ после разрешений в ls -l вывод указывает на некоторые xattrs. Они могут быть безвредными, но смотрели ли вы, какие из них есть, с помощью ls -l @ ?
    • Если один из xattr выглядит подозрительно (или даже если нет) вы можете (cd /path/to/RepoWatch.app/Contents/ && mv Info.plist Info.plist.save && cat Info.plist.save> Info.plist) , чтобы получить копию без xattrs и протестируйте с ним.
    • Если использование файла, отличного от xattr'd, по-прежнему вызывает проблемы, вы можете попробовать систематически изменять и удалять ключи (после создания резервной копии, например .save выше), чтобы проверить, можно ли вызвать другое сообщение об ошибке, которое может помочь указать на проблему.
2
ответ дан 1 December 2019 в 20:00
поделиться

Меню проекта> Установить активный исполняемый файл

1
ответ дан 1 December 2019 в 20:00
поделиться