Xcode 7.2: В "архиве": получение проблемы: "Cordova/CDVViewController.H-файл не найден ". Пока нет таких проблем в создании приложения


в iOS Я обновляю 7.2. Я могу построить свой существующий проект на своем устройстве без проблем. Когда пришло время архивировать проект для подготовки к отправке в магазин приложений, однако, я получаю ошибку сборки-Cordova / CDVViewController.H-файл не найден. Я прошел почти все исправления / обходные пути, которые я не нашел Stack Overflow и Google, и ни один из них не работал для меня. Если я вернусь к Xcode 6.4, я могу построить и архивировать без проблем, но я не могу построить на своем устройстве теперь он работает на iOS 9.1.

Я предполагаю, что это проблема конфигурации где-то с новой установкой версии Xcode. Кто - нибудь еще сталкивался с этим? Опять же, обычные подозреваемые (Настройки > Местоположение > производные данные > дополнительно > уникальный), пути поиска заголовка и т. д. кажется, все в порядке.

спасибо, Адишешу

17 62

17 ответов:

эти проблемы, похоже, появляются в Xcode 7.2 из-за пути поиска/включения.

решить это следующим образом:

  1. выберите [projectName] в Xcode цели.

  2. на Параметры Построения tab.

  3. убедитесь, что фильтр установлен на "все", а не "Основные".

  4. Поиск "Пути Поиска Заголовка"

  5. дважды щелкните и добавьте этот путь к "Debug" и "Release": $(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

  6. теперь очистить проекта перезагрузка Xcode.

  7. способен сделать построить и архиве.

  8. вот и все.

после попытки каждого решения без успеха я побежал:

cordova platform update ios

это фиксированная это для меня. (XCODE 7.3.1, Cordova 6.3.0)

ссылка: приложение Cordova не удается архивировать с помощью Xcode 7.1 (Cordova/CDVViewController.H-файл не найден)

вы должны обновить версию вашего проекта Cordova iOS до 3.9.2 (последняя версия 3 по состоянию на 3/11/16). У меня такая же ошибка при использовании 3.8.0 и она была исправлена в 3.9.

кроме того, вы можете перейти на Cordova iOS В4.1.0 (bleeding edge от 3/11/16) но имейте в виду, что вы теряете поддержку iOS 6 и 7, а также cordova-plugin-screen-orientation еще не обновлен для использования 4 таким образом, вы должны заблокировать приложение в портрете или пейзаж.

EDIT:

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

Настройки Сборки - > Пути Поиска Заголовка : Изменение:

$(OBJROOT)/UninstalledProducts/include

to:

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

(связанный вопрос на apache.org)

Если добавить эту строку:

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

чтобы headers-search-path (как описано в ответе "im3r3k") не исправил эту проблему, также установите это:

Build Settings -> Architectures -> Build Active Architecture Only -> YES

У меня также была эта проблема, но для меня добавление пути к поиску заголовка было недостаточно. Я добавил CDVViewController.h в раздел "public" в подпроект проект cordovalib.xcodeproj - > CordovaLib (target) - > фазы сборки -> заголовки - > Public

для меня $(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include уже в Пути Поиска Заголовка (используя XCode 8 в El Capitan). Затем я добавил к Пути Поиска Заголовка Пользователя конкретный путь к

это исправило его для меня:

  • откройте свой проект в Xcode
  • перейдите в Настройки - > места - > дополнительно
  • выберите "уникальный" в качестве опции для построения местоположения
  • Продукт -> Очистить
  • Продукт -> Построить

взято из https://forum.ionicframework.com/t/cordova-cdvviewcontroller-h-file-not-found-in-xcode-7-1-beta/32232/40

вышеуказанные решения не работают для меня.

In my case, when I build my iOS platform, CordovaLib folder was not included.
1. Delete existing CordovaLib.xcodeproj
2. Add existing files. Add CordovaLib.xcodeproj from CordovaLib folder
3. Add dependencies and select CordovaLib
4. Add link Binaries with library and select libCordova.a

вот оно!

Я использовал xcode 7.3 и у меня была та же проблема. В моем случае ошибка была вызвана ошибкой, которая происходила при выполнении "cordova platform add ios", ошибка была ocurring, потому что изображение не могло быть найдено в папке res, и это избегало cordova platform add ios для правильного завершения.

также установите ENABLE BITCODE = NO в настройках сборки

у меня была такая же проблема, поэтому я просто удалены <icon src="icon.png" /> из файла config. затем я удалил и добавил платформу IOS с помощью cordova platform remove ios затем cordova platform add ios

для меня после работал

Xcode 8.1 ios 10.x

(target - > Build Settings - > Header search paths)

"${PODS_ROOT} / Cordova/CordovaLib / Classes / Public"

Как

папка"${PODS_ROOT}/Headers/Public " была пуста

Я столкнулся с этой проблемой, когда я удалил и повторно добавил проект, некоторые файлы ресурсов, такие как значки или брызги экран не найден сделал проект не создает вообще.

  1. в настройках проекта Xcode выберите TARGETS
  2. внутри цели выберите вкладку параметры сборки
  3. в подразделе параметры на вкладке Параметры построения будьте уверены, чтобы выделить все
  4. прокрутите вниз до раздела пути поиска
  5. Найдите Пути Поиска Заголовка
  6. добавьте следующую конфигурацию к опции Release (как новое значение в собственной строке):$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME) / include
  7. очистить проект: Command + Shift + K
  8. Перезапустить Xcode

на следующем снимке экрана показано, что вы должны увидеть в Xcode 7.2 после следующих шагов с 1 по 6 (строка, выделенная синим цветом, отображает добавленную конфигурацию): enter image description here

CDV.файл h присутствует в CordovaLib / CordovaLib.xcodeproj / public. Вы можете дать этот путь и работали на меня.

Я не знаю, как дать относительный путь. Поэтому я перетащил / уронил файл и положил его в "" С #import как:

#import "dragged file full path"

удалить и переустановить Cordova Platform

cordova platform rm ios

cordova platform add ios

дополнить ответ. Добавить

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

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

нажмите здесь