В чем разница между #import <Library / Library.h> и #import <Library.h> с использованием CocoaPods?

Я видел руководства по CocoaPods, которые рекомендуют импортировать заголовок библиотеки необходимого модуля следующим образом:

#import <Library/Library.h> 

Где Library – это имя библиотеки (например, #import <AFNetworking/AFNetworking.h> ).

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

 #import <Library.h> 

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

Оба метода скомпилированы и, похоже, работают.

В чем разница и что нужно использовать?

2 Solutions collect form web for “В чем разница между #import <Library / Library.h> и #import <Library.h> с использованием CocoaPods?”

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

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

Actualy:

 #import <Library/Library.h> 

отличается от:

 #import <Library.h> 

В первом случае вы сообщаете препроцессору, что есть каталог в HEADER_SEARCH_PATH, который содержит каталог с именем «Библиотека», и в этом каталоге есть файл «Library.h». Во втором случае препроцессор предполагает, что он может напрямую найти «Library.h» в HEADER_SEARCH_PATH. Если оба каталога находятся в HEADER_SEARCH_PATH – между этими двумя нет разницы. Некоторые CocoaPods указывают в спецификациях

  s.header_mappings_dir = 'SomeFolderWhereSourcesPlaced' 

В этом случае

 A directory from where to preserve the folder structure for the headers files. If not provided the headers files are flattened. 

Итак, если указана опция header_mappings_dir – требуются полные пути, потому что установка pod будет указывать только на корневой каталог, где он помещает заголовки.

  • iOS - конфликты слияния git после добавления cocoapods для проекта
  • xcode: динамические структуры ios показывают «Права 0» при отправке
  • Редактировать файл Xcode xcconfig и Cocoapods
  • Создание CocoaPod из существующего проекта Xcode
  • CocoaPod / Podspec и * .framework
  • при установке pod, ERROR «Недопустимый файл подфайла: неопределенный метод` plateform '
  • iTunes Connect CFBundleShortVersionShort должен содержать более высокую версию
  • Как добавить пользовательские конфигурации проектов в Xcode при использовании CocoaPods?
  • Не удалось импортировать GoogleMaps в фреймворк в Xcode 7
  • Не удается обновить библиотеку pod
  • Проблема круговой зависимости Cocoapods
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.