Xcode ложно утверждает, что CFBundleExecutable является (нулевым) - PullRequest
4 голосов
/ 12 ноября 2009

Я пытаюсь создать специальную сборку приложения для iPhone для бета-тестирования.

С их стороны они видят ошибку, подобную следующей:

"В файле info.plist для приложения в xxx указан CFBundleExecutable со значением (null), которого не существует"

Вот выдержка из фактического списка info.plist:

<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>

И оно явно не равно нулю.

Что я здесь не так делаю?

Ответы [ 4 ]

6 голосов
/ 07 декабря 2009

РАБОЧЕЕ РЕШЕНИЕ - это (и только это):

В Xcode выберите «Исполняемые файлы» из иерархии проекта. Выберите исполняемый файл проекта, затем нажмите Command-I. Выберите вкладку «Общие» и установите для рабочего каталога «Каталог продуктов сборки».

Найден через BrainwashInc, который кредитует MacHackShack. Я думал, что эта ценная информация слишком важна, чтобы оставлять ее в случайном блоге.

Кажется, что иногда XCode может перевернуть этот параметр, так как у меня внезапно возникла эта проблема, и исправление выше исправило ее. Изменение его на «каталог проекта» каждый раз воспроизводит проблему для меня.

Мне также пришлось перезапустить XCode, чтобы заставить работать отладчик после того, как это исправление установило приложение, которое может быть не связано.

2 голосов
/ 29 января 2010

Я не думаю, что есть ОДНО рабочее решение для этого. Я нашел несколько решений, которые не работают для меня. В конце концов, я нашел одно решение.

Удалив все, что у меня было в папке «Producs» в xCode, мне удалось заставить его работать. Я использую xCode 3.2.1.

Примечание: я также внес изменения в «Каталог продуктов сборки» выше, возможно, необходимо внедрить оба решения, чтобы вы попробовали его.

Это, мягко говоря, довольно раздражает. Как новичок, все достаточно сложно без ошибок в SDK ...

Надеюсь, это поможет кому-то там!

Приветствия

1 голос
/ 09 марта 2010

Это известная проблема SDK:

Изменение рабочего каталога исполняемого файла iPhone из «Каталога продуктов сборки» может привести к неправильной установке приложения с сообщением об ошибке «В Info.plist для приложения в (null) указывается CFBundleExecutable из (null), который не существует .»

как вы видите здесь: http://developer.apple.com/iphone/library/releasenotes/General/RN-iPhoneSDK-3/index.html

Для меня это сработало, чтобы изменить рабочий каталог. Я создал проблему, удалив вручную каталог сборки.

1 голос
/ 13 ноября 2009

Похоже, вы смотрите на info.plist в проекте, а не на созданный продукт.

'$ {EXECUTABLE_NAME}' в файле info.plist проекта - это просто место для переменной в сценарии сборки. Вам нужно посмотреть на info.plist в вашем встроенном продукте, чтобы увидеть, что там перечислено. По какой-то причине похоже, что скрипт сборки не заполняет поле должным образом.

Вы действительно можете проверить, что содержимое пакета приложения действительно имеет исполняемый файл. Звучит странно, но я знаю, что несколько лет назад я испортил проект с моей установкой сборки и в результате получил продукт без исполняемого файла. Все остальное, пакет, ресурсы, строковые файлы и т. Д. Просто не было реальной программы.

...