Ошибка Phonegap/Cordova Ошибка сборки - Apple Mach-O Linker Ошибка: нет такого файла или каталога: libCordova.a
Я получаю сообщение об ошибке после создания нового проекта Cordova 2.1.0 и обновления папки www с кодом из предыдущего приложения PhoneGap.
clang: error: no such file or directory: '/Users/peterbanjo/Library/Developer/Xcode/DerivedData/OpuzMobile-bhwawiqfaptmxvfosawfabudgbkj/Build/Products/Debug-iphoneos/libCordova.a'
Ошибка возникает только при попытке запустить приложение на устройстве - в симуляторе он работает нормально.
Я запускаю Xcode 4.5 и iOS6 на целевом iPad. Я попробовал чистую сборку, а libCordova.a появляется на вкладке "Сборка фаз" > "Библиотека ссылок со вкладками", но она красная.
Ответы
Ответ 1
То, что я сбила с толку в PhoneGap/Cordova 2.1.0, обновляясь с 1.4, заключается в том, что в моем приложении есть два проекта. Есть MyApplication.xcodeproj и CordovaLib.xcodeproj. Изменения в решении этой проблемы необходимо применить к проекту CordovaLib.
- Измените "Только построить активную архитектуру" на "ДА"
- Обновите текстовый файл project.pbxproj к этим значениям
- Переключение между схемой сборки для симулятора и устройства (используйте меню выбора рядом с кнопкой остановки. Как-то это заставляет изменения регистрироваться).
Это работало для вас? Я что-то пропустил?
PS: Для лучшего понимания проблемы ознакомьтесь с этим нить Google Forum
Ответ 2
Я использую Cordova/Phonegap 2.9, и это решило мою проблему. Не трогал ни один из арки. Все настроено на armv7 armv7s на моем.
Чтобы устранить эту проблему, выполните следующие действия:
- Перейдите к настройкам проекта и вкладке "Создание".
- Искать "Другие флаги компоновщика"
- Дважды щелкните флажки компоновщика для выпуска и измените ${TARGET_BUILD_DIR}/libCordova.a на ${BUILT_PRODUCTS_DIR}/libCordova.a
- Сделайте то же самое для Debug Clean и создайте архив снова
Ответ 3
Вам нужно удалить armv6 как из вашего проекта, так и из Кордовы:
![remove armv6 from CordovaLib and do the same for YourProject]()
Последствия этого? По-видимому, он все еще работает на iPhone 3GS, но не в предыдущих версиях.
Ответ 4
Чтобы он работал, я загрузил из http://connect.apple.com автономный Xcode 4.4.1. С этой версией я могу создать приложение Phonegap с помощью armv6:)
Да, в этом случае вам нужно иметь два Xcode на вашем компьютере.
Ответ 5
У меня была такая же ошибка, и я исправил ее, вернувшись к более старой версии кордовы ios.
Шаги по устранению проблемы:
- Сначала удалите кордову, с
npm uninstall cordova-ios
- Установите устаревшую версию кордовы с помощью
npm install [email protected]
- Удалите существующую платформу ios с помощью
ionic cordova platform rm ios
или ionic platform rm ios
- После этого мы должны добавить платформу с
ionic cordova platform add [email protected]
или ionic platform add [email protected]
- Запуск ионной кордовой сборки ios.
Инструкции пришли из здесь.
Ответ 6
Посмотрите на https://groups.google.com/forum/?fromgroups=#!topic/phonegap/ywoc9wNydZ8
работает для меня
-
OS X 10.8.2
XCode 4.5
iOS 6.0
PhoneGap 2.1.0
Ответ 7
НЕ принимайте, что Standard (armv7,armv7s) - $(ARCHS_STANDARD_32_BIT)
это то же самое, что и исправление выше.
Вручную измените это значение только на armv7
, и это исправлено для меня.
Я был очень расстроен.
Ответ 8
Если вы сделали все здесь, и он все еще не работает, и у вас есть отдельная конфигурация, кроме Release и Debug, для этого примера - Production. Убедитесь, что в проекте "Кордова" существует "Конфигурация сборки". Постройте проект Cordova и создайте + Архивируйте свой основной проект еще раз.