::CFBundleLoadExecutable Не удается загрузить скомпилированный пакет (Mountain Lion, Xcode 4.6)

uFunction ::CFBundleLoadExecutable возвращает FALSE после попытки загрузить скомпилированный пакет. Когда я попытался использовать вместо этого функцию ::CFBundleLoadExecutableAndReturnError, я получил сообщение об ошибке:

CFBundleExecutableLoadError = -2002

Строка причины: Пакет поврежден или отсутствуют необходимые ресурсы.

Предложение: Попробуйте переустановить пакет.

Как видите, это чрезвычайно полезная информация. Может быть, кто-то может предложить лучший способ понять, в чем проблема с комплектом? Спасибо!

Обновление: Если я запускаю приложение через XCode - все работает. (Даже если это релизная компиляция). Но если я запускаю приложение из меню/командной строки - CFBundleExecutableLoadError не работает :(


person Iron-Eagle    schedule 23.09.2013    source источник


Ответы (1)


Я нашел проблему в конце концов. В DLL пакета была зависимость от одной из библиотек, имя которой было изменено на этапе Post-Build с помощью install_name_tool. Место установки install_name_tool было изменено в Xcode 4.6, поэтому этот шаг отсутствовал, поэтому dll пакета искала неправильную библиотеку в неправильном месте.

Я предполагаю, что сообщение об ошибке типа «Библиотека XXXXX отсутствует» слишком много для Apple....

Надеюсь, это когда-нибудь поможет кому-то.

person Iron-Eagle    schedule 22.10.2013