Приложение Cordova не архивируется с Xcode 7.1 (файл Cordova/CDVViewController.h не найден)

Недавно я обновил свой Xcode до версии 7.1 (из 7.0.1), и приложение Кордовы не архивирует с ошибкой, которая гласит:

'Файл Cordova/CDVViewController.h' не найден

в файле MainViewController.h.

Поиск по решениям в StackOverflow и в других местах предполагает, что настройка пути поиска заголовка проекта от "$(OBJROOT)/UninstalledProducts/include" до "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include", похоже, решает проблему для многих людей. Однако это не решило проблему для меня.

Есть ли что-то, что может быть ошибкой? Я никогда не сталкивался с такой проблемой до обновления Xcode.

Связанный скриншот: Обратите внимание на пути поиска заголовков как для отладки, так и для выпуска

ОБНОВЛЕНИЕ: Кажется, что обновление моей Mac OS X до El Capitan, возможно, устранило эту проблему, поскольку я ее больше не получаю. Во время публикации этого вопроса я был на Йосемити. Надеюсь, это поможет любому, кто сталкивается с той же проблемой.

Ответ 2

Это решение!

Добавьте эту строку в свои настройки сборки → Пути поиска заголовков:

"$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"

Ответ 3

Я нашел решение на этой теме, которое работало для меня с Xcode 7.1 (у меня все еще были проблемы с OS X El Capitan).

Ответ Ганди:

  • Запустите это в своем терминале: обновление платформы cordova ios
  • Откройте проект в Xcode
  • Перейдите в раздел "Предпочтения" → "Местоположения" → "Дополнительно"
  • Выберите "Уникальный" в качестве опции для местоположения сборки.
  • Продукт → Очистка
  • Продукт → Построить

Ответ 4

Я нашел это решение на http://forum.ionicframework.com/t/cordova-cdvviewcontroller-h-file-not-found-in-xcode-7-1-beta/32232:

Добавьте эту строку в свои настройки сборки → Пути поиска заголовков:

"$ (OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/включить"

Не заменяйте существующую строку, которая выглядит аналогичной, которая по-прежнему необходима для обратной совместимости с Xcode 7 и Xcode 6.4.

но не работает для старых версий Кордовы. Я не могу обновиться до последней версии Кордовы, поэтому после небольшого подхода к поиску и поиска я нашел новое решение, которое, похоже, работает в моей среде:

"$(OBJROOT)/UninstalledProducts/$(CONFIGURATION)-$(PLATFORM_NAME)/include"

Те же рекомендации, что и раньше, не заменяют существующую строку, а добавляем новую роль в конце.

Надеюсь, это будет полезно.

Ответ 5

На скриншоте я вижу пробел на "build/UninstalledProducts/iphoneos/include ", попробуйте удалить его.

И вам не нужно удалять старые, "$(OBJROOT)/UninstalledProducts/include", вы должны сохранить оба