iOS CocoaPods - как устранить ошибку "использование @import, когда модули отключены"?

Я ищу, как решить проблему "использования @import", когда модули отключены "при добавлении Google Analytics через cocoapods:

pod 'Google/Analytics', '~> 1.0.0'
link_with 'AppTarget', 'AppTargetTests'

В коде:

#import <Google/Analytics.h>

Я получаю эту ошибку в модуле:

"use of '@import' when modules are disabled"

Я проверил все проекты и вижу, что модули включены, наряду с другим предложением "Автоматически связывать фреймворки"

Я не могу переопределить этот импорт из-за этой ошибки:

Как я могу решить "использование @import ', когда модули отключены" при добавлении фреймворков через cocoapods в xCode6?

3 ответа

Решение

Я много гуглил, но сам взломал решение твоей проблемы. Очистка проекта, перестройка и т. Д. Не работали на меня.

Решение состоит в том, чтобы обернуть API в класс Какао и использовать этот класс в ваших импорте вместо оригинального.

  1. Создать класс, например APAnalyticsTracker, где AP должен быть вашим общим префиксом приложения. Здесь у вас будет два файла: APAnalyticsTracker.m а также APAnalyticsTracker.h
  2. Импортировать #import <Google/Analytics.h> в APAnalyticsTracker и оберните оригинальную реализацию следующим образом (см. Gist для получения дополнительной информации): https://gist.github.com/vladignatyev/c240a1a4867b17894b10
  3. использование APAnalyticsTracker.h от .mm файлы свободно.
  4. Не забудьте включить модули, см. /questions/29853127/ios-cocoapods-kak-ustranit-oshibku-ispolzovanie-import-kogda-moduli-otklyuchenyi/29853131#29853131 комментарий от @barrast

Просто чтобы добавить ссылку на ответ Alex Stone в комментариях, вот текущая официальная спецификация Clang об отсутствии поддержки для @import в C++:

В настоящее время нет синтаксиса C или C++ для объявлений импорта. Clang будет отслеживать предложение модулей в комитете C++.

В XCode просто установите для параметра "Включить модули (C и Objective-C)" значение "Да" в настройках сборки:

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

Другие вопросы по тегам