Файл libCordova.a отсутствует в PhoneGap 2.9
Можете ли вы помочь мне, пожалуйста? Я использую XCode версии 4.6.3 и PhoneGap версии 2.9. В Simulator проект работает нормально, но когда я хочу создать файл IPA, сборка всегда завершается неудачно.
Сообщение показывается как ниже:
file not found: /Users/admin/.../libCordova.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я нашел некоторое обсуждение по этому вопросу. Большая часть решения - это как (1) изменить СТРОИТЕЛЬНУЮ АКТИВНУЮ АРХИТЕКТУРУ ТОЛЬКО на ДА, (2) изменить АРХИТЕКТУРУ только на armv7, (3) обновить проект после его создания... и т. Д. Но никто из тех, кто работает на меня.
Плз помогите все равно.
Заранее спасибо.
5 ответов
Выполните следующие действия, чтобы решить эту проблему:
- Зайдите в настройки проекта и откройте вкладку. Искать "Другие флаги компоновщика"
- Двойной щелчок на флагах компоновщика для выпуска и изменения
${TARGET_BUILD_DIR}/libCordova.a
в${BUILT_PRODUCTS_DIR}/libCordova.a
- Сделайте то же самое для отладки
- Очистить и снова собрать архив
В дополнение к нескольким другим предложениям и публикациям я обнаружил, что у меня возникла эта проблема только в моих сборках AdHoc.
Проблема для меня заключалась в том, что подпроект CordovaLib не имел конфигурации AdHoc. Как только я добавил конфигурацию "AdHoc" в подпроект CordovaLib, это начало работать.
Пожалуйста, обратите внимание, что я понял это во время отладки, потому что, если я установлю "Редактировать схему"> "Конфигурация сборки архива" на "выпуск", он будет работать нормально, но если установить значение "AdHoc", это даст мне ошибку ссылки, сообщающую, что этот файл не может быть найденный:
/Users/jason/Library/Developer/Xcode/DerivedData/MommyNearest-ceourmykvgxdekbkmzenuvhcfnzk/Build/Intermediates/ArchiveIntermediates/MommyNearest/BuildProductsPath/Adhoc-iphoneos/libCordova.a
Если ответ Prems не устранил проблему, попробуйте сначала создать проект CordovaLib. После этого я смог построить свой проект.
Если вы проверите предложение компоновщика выше и все еще не работает. Убедитесь, что проект Cordova имеет то же имя конфигурации. Если ваш основной проект имеет конфигурации "Debug, Release и Production". Добавьте те же конфигурации в проект Cordova. Постройте Cordova, а затем постройте свой проект.
Если вы используете Xcode 5.0, делайте с точностью до наоборот и все работает.