objective-c заголовочные - iOS - Сбой сборки с помощью CocoaPods не может найти файлы заголовков





заголовочных подключение (21)


Это был ответ для меня, я обновил cocoapods, и я думаю, что это привело к тому, что PODS_HEADERS_SEARCH_PATHS исчезли. Мое решение было похоже на это, но я использовал «$ (PODS_ROOT) / Headers» - Andrew Aitken

Большое вам спасибо за этот ответ. Мне было трудно найти способы исправить мою проблему. Большое спасибо.

У меня есть проект iOS с использованием CocoaPods. Все работало гладко, пока другой разработчик не начал работать над тем же проектом. Он внес некоторые изменения (только для кода, насколько я знаю) и создал новую ветку в репо. Я проверил его ветку и попытался ее построить, но я получаю сообщение об ошибке: файл ASLogger / ASLogger.h не найден.

Даже если я удалю весь проект и сделаю новую копию и использую установку «pods install». неудача сборки все еще существует. Вы не знаете, где проблема? Если вам нужна дополнительная информация, просто спросите.




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

Перейдите на вкладку Target> «Build Settings» и найдите «Пути поиска заголовка пользователя».

Установите это значение «$ (BUILT_PRODUCTS_DIR)» и установите флажок «Рекурсивный».

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

====

ОБНОВИТЬ

Недавно у меня была аналогичная (хотя и немного другая) проблема. Оказалось, что Xcode не смог найти Pods, потому что я открыл файл .xcodeproj а не файл .xcworkspace . Могут помочь другим в будущем.




Мне пришлось загрузить zip из git-хаба и перетащить недостающие файлы в Finder на соответствующие пути в Pod / ...




Заголовки файлов, вы будете смертью меня ...

Наконец, он получил работу, добавив (включая цитаты)

"${PODS_ROOT}/BuildHeaders"

к записи «Путь поиска заголовка пользователя» и проверке «рекурсивный».




Обновить

Я обновил это с момента моего первоначального ответа, который получил downvote, поэтому я надеюсь, что это поможет. И если это произойдет, надеюсь, он вернет мой голос.

Если заголовки не импортируются, у вас, вероятно, есть конфликт в HEADER_SEARCH_PATHS . Попробуйте добавить $(inherited) в пути поиска заголовка в настройках сборки, чтобы убедиться, что он тянет любые пути поиска, включенные в файл .xcconfig, из ваших CocoaPods.

Это должно помочь с любыми конфликтами и правильно импортировать исходный код.




для меня проблема была в другом значении флагов Linker. По какой-то причине у меня не было кавычек во флагах, таких как -l"xml2" -l"Pods-MBProgressHUD" .




wiki дает советы о том, как решить эту проблему:

Если Xcode не может найти заголовки зависимостей:

Проверьте, правильно ли размещены файлы заголовков pod в Pods / Headers, и вы не переопределяете HEADER_SEARCH_PATHS (см. # 1). Если Xcode все еще не может их найти, в качестве последнего средства вы можете добавить свой импорт, например, #import «Pods / SSZipArchive.h».




1.Check

Настройки сборки -> Путь поиска -> Пути поиска заголовка пользователя ->

  • "$ {PODS_ROOT} /" рекурсивный

2.Проверьте стиль импорта (KEY POINT), если ваш podfile установлен

use_frameworks!

В File-Bridging-Header.h форматировщик должен это сделать

#import "MBProgressHUD.h"

иначе должно быть ниже

#import <MBProgressHUD.h>

3. Это должна быть работа! Доверьтесь мне




Я решил эти проблемы для Xcode 8.2.1 с помощью перетаскивания, которые я хочу использовать.




Для меня работал проект Pods, поиск и выбор целевой структуры с отсутствующим заголовком в целевом каталоге проекта Pod и установка «Build Active Architecture Only» на «No» в разделе «Архитектура» в настройках сборки цели.




Я был на семенах GM Xcode 5.0, и я не мог получить ни один из этих ответов для работы. Я пробовал каждый ответ на SO по нескольким различным вопросам об импорте заголовков w / cocoapods.

НАКОНЕЦ Я нашел решение, которое сработало для меня : я обновился до Xcode 5.0 через Mac AppStore (установленный поверх семени GM), и теперь импорт заголовков работает должным образом.

У меня также была бета-версия Xcode 5 в моей системе, и я тоже удалил ее. Возможно, это была комбинация двух вещей, но, надеюсь, это помогает кому-то другому.




Я обнаружил, что ${PODS_HEADERS_SEARCH_PATHS} отсутствует, и он не определен в моей ветке разработки git. Поэтому я добавил "$(SRCROOT)/Pods/Headers/" для путей поиска заголовков с рекурсивными

Это нормально для меня




Вы пытались импортировать стиль Cocoapods?

#import <ASLogger.h>

Информация на сайте не совсем понятна, я отправил запрос на вытягивание:

https://github.com/CocoaPods/cocoapods.org/pull/34

Обновление: они вытащили мой запрос :)




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

  1. Удалить весь проект
  2. Запустите git, клонируйте проект и запустите пакет exec pod install
  3. cd the peoject и запустить удаленный add upstream your-remote-rep-add
  4. git fetch вверх по течению
  5. git checkout master
  6. git merge upstream / master

И тогда это работает.




Обновить

Убедитесь, что в вашем Podfile есть link_with на цели, у которых отсутствует файл конфигурации. В противном случае Cocoapods устанавливает первую цель по умолчанию . например

platform :osx, '10.7'
pod 'JSONKit',       '~> 1.4'

link_with 'Pomo', 'Pomo Dev', 'Pomo Tests'

------ Окончание обновления

Примечание. Обратите внимание, что вы должны посмотреть в Project-> Info-> Configurations для шагов ниже.

У меня были подобные симптомы, и я обнаружил, что файл pods.xcconfig не был включен в конкретную target я пытался создать. Некоторые из других предлагаемых решений работали для меня, но этот, казалось, рассматривал часть основной проблемы.

Простое решение заключалось в том, чтобы изменить файл конфигурации для целей, у которых не было одного набора.




Если у вас возникли ошибки здания после установки « pod install » или « обновления pod », может быть, что один из ваших модулей был построен с XCode 6.3, пока вы все еще используете предыдущую версию.

В моем случае мне пришлось обновить мой OSX от mavericks до Yosemite, чтобы иметь Xcode 6.3 и решить проблему




Вот еще одна причина: все пути заголовков выглядели прекрасно, но у нас все еще была ошибка в прекомпилированном (.pch) файле, пытающемся прочитать заголовок модуля

(например, #import <CocoaLumberjack / CocoaLumberjack.h>).

Глядя на исходный результат сборки, я, наконец, заметил, что ошибка нарушала нашу цель расширения OS OS, а не главную цель, которую мы строили, потому что мы также импортировали предварительно скомпилированный заголовочный файл .pch в целевые объекты Watch OS, и он терпел неудачу там. Убедитесь, что ваши целевые настройки Watch OS не пытаются импортировать файл .pch (особенно если вы установили этот импорт из основного целевого параметра, как и я!)




Я обновляю приведенные ниже вещи в настройках сборки и не получаю никаких ошибок. Чтобы проверить это, вы обновляете свои коко-каподы.

Настройки сборки

Включить бит-код - ДА (если вы используете бит-код)

Препроцессор макросов - $ (унаследованный)

Другой флаг компоновщика - objc, -lc ++, $ (унаследованный)

Только построение архитектуры

Отладка - Да

Relese - Нет

Путь поиска

Путь поиска в каркасе - $ (унаследованный) $ (PROJECT_DIR)

Путь поиска библиотеки - $ (унаследованный)

Путь поиска заголовка - $ (унаследованный)




Один простой способ: 1. Удалить папку Pods и файл Podfile.lock. Но не удаляйте Podfile 2. Запустите следующую команду в корневой папке проекта:

pod install



Ни один из ответов не помог мне (у меня были мои модули, связанные со всеми целями, правильная настройка конфигураций, коррелированные пути поиска «$ (унаследованные)» и т. Д.).

Проблема исчезла сама по себе после того, как я обновил cocoapods до самой новой, отладочной версии, используя стандартную команду install / update:

   gem install cocoapods --pre

или:

   sudo gem install cocoapods --pre

(если sudo использовался во время установки).

Должно быть, это была ошибка кокоаподов.




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

Ключ заключается в том, чтобы обернуть deleteRowsAtIndexPaths начальными и конечными тегами и принудительно обновить модель в одном и том же блоке, в результате чего:

[tableView beginUpdates];
[self constructTableGroups];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
        withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];

Это привело к тому, что проблема исчезла, и анимация работала просто идеально.







objective-c ios cocoa build cocoapods