Phonegap CDVViewController.h файл не найден, когда архивирование для iOS
В настоящее время я использую Phonegap 2.0 для разработки приложения iOS в XCode. Приложение строит и работает нормально в эмуляторе, а также на тестовых устройствах.
Проблема возникает, когда я пытаюсь архивировать приложение для распространения. В архиве сбой появляется следующее сообщение:
Файл CDVViewController.h не найден.
Любые идеи?
Ответы
Ответ 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 и немного успокоитесь.
Ответ 8
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
Добавление этого в раздел "Пути поиска" в разделе "Настройки сборки" отлично работает.
Пути поиска в настройках сборки XCode
Ответ 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]()