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

Phonegap CDVViewController.h файл не найден, когда архивирование для iOS

В настоящее время я использую Phonegap 2.0 для разработки приложения iOS в XCode. Приложение строит и работает нормально в эмуляторе, а также на тестовых устройствах.

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

Файл CDVViewController.h не найден.

Любые идеи?

4b9b3361

Ответ 1

Xcode 6.x

добавить $(OBJROOT)/UninstalledProducts/include в BuildSettings- > Контуры поиска заголовков

Xcode 7.x

добавить $(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include в BuildSettings- > Контуры поиска заголовков

1. Дважды нажмите кнопку <multiple values>, и вы можете добавить это.

2.Измените $(OBJROOT)/UninstalledProducts/include до $(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

введите описание изображения здесь

Ответ 2

В Xcode 7.1 вам необходимо обновить поле header search paths от $(OBJROOT)/UninstalledProducts/include до $(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

Вы можете найти header search paths в разделе build settings search paths

Ответ 3

Удалось решить проблему.

Они отсутствовали в "пути поиска заголовка" в настройке сборки моих настроек TARGET:

"$(TARGET_BUILD_DIR)/usr/local/lib/include"
"$(OBJROOT)/UninstalledProducts/include"
"$(BUILT_PRODUCTS_DIR)"

Получить решение из нескольких источников:

Обновление Cordova iOS (Stepts from 31) http://docs.phonegap.com/en/2.0.0/guide_upgrading_ios_index.md.html#Upgrading%20Cordova%20iOS

Отчет об ошибке https://issues.apache.org/jira/browse/CB-1122

Обсуждение на groups.google.com/forum/?fromgroups = #! topic/phonegap/IcR8-ijrUfk

Обсуждение на groups.google.com/forum/?fromgroups = #! topic/phonegap/PzqZEm8QKmc

Ответ 4

В будущем ref:

Я просто исправил эту точную проблему для себя.

Если вы используете Cordova cli и обновили свой config.xml, вы можете просто удалить ios в качестве платформы и добавить его обратно. Затем снова архивируйте XCode.

cordova platform remove ios
cordova platform add ios

Надеюсь, что это помогает, отлично работает для меня,

Ответ 5

У меня была такая же проблема. Я полагаю, что это, возможно, было введено, потому что я переместил местоположение проекта Xcode после того, как создал его с инструментами Кордовы. Или, возможно, также возможно, что я неправильно настроил набор инструментов IOS Cordova - возможно, я не запускал пакет установщика (я несколько раз перестраивал эту машину). Кроме того, все связанные ответы, которые я нашел в Google, предполагают, что мне нужно изменить некоторые из основных классов Кордовы, которые я не хотел делать.

Мое решение состояло в том, чтобы использовать команду Cordova create для создания совершенно нового проекта Xcode. Я скопировал исходный проект www в новый проект, а затем перестроил новый проект в соответствии с настройками исходного проекта.

Новый проект, используя те же плагины, фреймворки и настройки сборки, успешно создал архив, тогда как оригинальный проект не смог. Это не идеальное решение, но оно сработало.

Ответ 6

У меня возникла такая же проблема при копировании моего проекта в другую папку. Я использую Phonegap 2.0.0. После нескольких попыток решения, я запустил Product- > Clean и все работало правильно. Не спрашивайте меня, почему, но этот путь уже разрешил несколько небольших сбоев, с которыми мне пришлось иметь дело, т.е. Изменение всплесков и файлов значков, которые не были обновлены на устройстве. Надеюсь на эту помощь.

Ответ 7

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

Мои наблюдения были похожи (CDVViewController.h не найден). Сначала убедитесь, что настройки TARGET включают "пути поиска заголовков", как описано выше.

Затем перейдите по этой ссылке к тому, что сработало для меня: http://outof.me/embedding-cordovalib-in-your-iosphonegap-app-project/

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

Затем, если вы перейдете на кордову 2.5.0, вы, вероятно, столкнетесь с проблемой, которая выплевывает что-то похожее на это: "_AlAssetPropertyDate", на который ссылается:

  ___23-[CDVFile getMetadata:]_block_invoke in libCordova.a(CDVFile.o)

  ___27-[CDVFile getFileMetadata:]_block_invoke in libCordova.a(CDVFile.o)

"_ OBJC_CLASS _ $_ ALAssetsLibrary", на который ссылаются:

  objc-class-ref in libCordova.a(CDVFile.o)

  objc-class-ref in libCordova.a(CDVFileTransfer.o)

  objc-class-ref in libCordova.a(CDVURLProtocol.o)

"

Если os, добавьте структуру AssetLibrary и немного успокоитесь.

Ответ 9

Вам может потребоваться обновить ссылку на подпроект CordovaLib.

Запуск терминала Перейдите в место, где вы установили Кордову в подпапку bin. Например, /Users/Shared/Cordova/phonegap-2.2.0/lib/ios/bin

Запустите команду ниже, где первым параметром является путь к файлу проекта .xcodeproj:

./update_cordova_subproject /path/to/your/project

Ответ 10

Xcode 7.2 немного отличается

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

необходимо поместить в пути поиска заголовков для отладки и для выпуска.

Header search paths have a debug and release sub field