Подтвердить что ты не робот

Xcode 4.5 нет такого файла или каталога - libCordova.a

clang: ошибка: такого файла или каталога нет: '/Users/admin/Library/Developer/Xcode/DerivedData/__TESTING__-fzbkvdbnndieeagphtjhdndiyttl/Build/Products/Debug-iphoneos/libCordova.a'

Как мне получить это отсутствующий libCordova.a?

align top
(источник: kerrydeaf.com)

ОБНОВЛЕНИЕ: Для Саймона Жермена. align top

ОБНОВЛЕНИЕ: Для Саймона Жермена. Я не вижу "Идентичность и Тип". Я вижу "идентичность". Я использую xcode 4.5 align top
(источник: kerrydeaf.com)

align top

ОБНОВЛЕНИЕ: Для Саймона Жермена. Я получил идентичность.

align top
(источник: kerrydeaf.com)

ОБНОВЛЕНИЕ: для Самуила

align top
(источник: kerrydeaf.com)

ОБНОВЛЕНИЕ: Для Саймона Жермена - Архитектура.

ОБНОВЛЕНИЕ: для james0n - armv.

align top
(источник: kerrydeaf.com)

ОБНОВЛЕНИЕ: Для Саймона Жермена - Архитектура.

ОБНОВЛЕНИЕ: для james0n - armv.

 Undefined symbols for architecture i386:
   "_OBJC_CLASS_$_CDVURLProtocol", referenced from:
       objc-class-ref in AppDelegate.o
   "_OBJC_CLASS_$_CDVViewController", referenced from:
       _OBJC_CLASS_$_MainViewController in MainViewController.o
   "_OBJC_METACLASS_$_CDVViewController", referenced from:
       _OBJC_METACLASS_$_MainViewController in MainViewController.o
 ld: symbol(s) not found for architecture i386
 clang: error: linker command failed with exit code 1 (use -v to see invocation)

ОБНОВЛЕНИЕ: для james0n - допустимая архитектура.

align top
(источник: kerrydeaf.com)

ОБНОВЛЕНИЕ: Это теперь решено !!! убедитесь, что все armv7 и armv7s для ios 6 на всех в xcode. Это сработало.

4b9b3361

Ответ 1

Для вашего проекта установите для параметра "Только активная архитектура" значение "Создать".

(Возможно, также установите для параметра "Архитектура" значение "Стандартный (armv7, armv7s)" для проекта CordovaLib.)

Ответ 2

Была (как и многие другие) та же проблема, вот что я сделал:

  • Переименуйте руководство Getting Started из Phonegap (включая загрузку и извлечение источника снова)
  • Такая же проблема с приложением HelloWorld
  • продукт - чистый
  • Изменены как "HelloWorld", так и "CordovaLib" - проект (а не цели) в соответствии с ответом james0n, настройки:

Архитектура: стандартная (armv7, armv7s)

Только встроенная активная архитектура: Да

а затем он волшебным образом работал, я думаю, что шаги 3 и 4 сделали это, однако.

Ответ 3

Вам нужно удалить armv6 как из вашего проекта, так и из Кордовы: remove armv6 from CordovaLib and do the same for YourProject

Последствия этого? По-видимому, он все еще работает на iPhone 3GS, но не в предыдущих версиях.

Ответ 4

У меня была такая же проблема, как и у вас, отлично работала с симуляторами, но не с устройством. Ни один из предложенных ответов не работал у меня.

Вот что для меня работало:

Задайте цель развертывания v4.3 и параметры проекта для проекта CordovaLib, установите Build Active Architecture Only на Yes. (Не требуется в вашем основном проекте).
Важно, сделайте Product- > Clean и перестройте.

Ответ 5

Убедитесь, что целевая точка продукта CordovaLib установлена ​​на "Относительно встроенного продукта" на правой стороне панели, первая вкладка на левом верхнем углу, в разделе "Идентификация и тип".

enter image description here

Ответ 6

Загрузите установщика Кордовы здесь http://phonegap.com/download. Убедитесь, что вы используете ту же версию, что и в настоящее время (ex 2.0).

Затем установите dmg, найденный в каталоге ios.

Затем запустите установщик .pkg.

Перезапустить Xcode.

Ответ 7

Вам нужно запустить обновление script, я знаю, что это может быть болью в прикладе, чтобы сделать это, но это то, что нужно.

Загрузите и откройте пакет Phonegap 2.1 с официального сайта. Откройте окно терминала и cd в каталог установки

Вам нужно сначала создать новый проект:

./create [project_folder_path] [package_name] [project_name]

Затем вам нужно установить путь к вашим библиотекам.

/update_cordova_subproject [xcodeproj file]

Теперь откройте свой проект и установите цель развертывания в 4.3, и вы должны быть готовы к работе. Надеюсь, что поможет

EDIT:

Так выглядит моя конфигурация для проекта CordovaLib

enter image description here

Ответ 8

Кроме того, убедитесь, что вы не открыли одновременно несколько проектов PhoneGap Xcode - у меня возникали конфликты между ними. Тип цикла "Рабочее пространство уже открыт в другой рабочей области".

Ответ 9

Проведя много часов с еще большим количеством ошибок, вот что сработало для меня. В основном, большинство из них:

  • Начните с новой копии Кордовы. Если вы уже возились с ним, как я, он не свежий.
  • Переместите файлы Кордовы из каталога загрузки (я, как правило, очищаю этот каталог время от времени...)
  • Создайте новый проект, как описано в документах Phonegap, т.е. перетащите папку ios/bin на значок терминала и запустите создание script в терминале. Нет необходимости запускать update_cordova_subproject script.
  • Откройте проект в XCode.
  • Для вашего продукта установите iOS для развертывания в 4.3 (я сделал это 2x, как в Project, так и в настройках Target Build).
  • Для CordovaLib.xcodeproj установите Build для активной архитектуры в Yes в настройках сборки проекта.
  • Очистить и запустить.

Не включайте armv7 в любой из списков архитектуры, поскольку он не будет создан для устройства.

Протестировано в симуляторе и на iPad с iOS 6. Использование Phonegap 2.1.0 и XCode 4.5.1.

Обновление:, если вы хотите поддерживать iPhone 5, вам понадобится armv7s. Это требует исправления в https://issues.apache.org/jira/browse/CB-1360, который будет в Кордове 2.2.0. (Еще не пробовал, работая над проектом iPad.)

Ответ 10

Я исправил это, удалив архитектуру armv6 и i386 из параметра Valid Architecture

Ответ 11

У меня тоже была эта проблема. Я думаю, что это было из-за того, что ранее я установил старую версию телефонного разрыва, который установил некоторые вещи в xcode. Я удалил, а затем переустановил xcode. Затем я запустил Uninstall Cordova.applescript, который пришел с разрывом в телефоне. Это фиксировало проблему красного libCordova.a

Ответ 12

В дополнение к нескольким другим предложениям и сообщениям я обнаружил, что испытываю эту проблему только для своих сборников AdHoc. Обратите внимание, что я понял это во время отладки, потому что, если я настрою конфигурацию Edit Scheme > Archive build для "release", она будет работать нормально, но если она установлена ​​в AdHoc, это даст мне ошибку ссылки, сообщив мне, что этот файл не может быть найдено:

/Users/jason/Library/Developer/Xcode/DerivedData/MommyNearest-ceourmykvgxdekbkmzenuvhcfnzk/Build/Intermediates/ArchiveIntermediates/MommyNearest/BuildProductsPath/Adhoc-iphoneos/libCordova.a

На самом деле это было хорошим ключом к проблеме, которая заключалась в том, что каким-то образом подпроект CordovaLib не имел конфигурации AdHoc (он имел ТОЛЬКО конфигурации "Отладка" и "Отпуск" ).

Следовательно, при создании версии AdHoc (для использования с Testflight) она не создаст символическую ссылку для этого файла правильно. Когда я добавил конфигурацию AdHoc в подпроект CordovaLib, это начало работать.

enter image description here