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

Не удается найти заголовки для GoogleAnalytics-iOS-SDK с Cocoapods 0.37, Swift, фреймворками

Используя cocoa pods 0.37.0 в проекте Swift, используйте use_frameworks! установленный в podfile, я не могу получить доступ к файлам заголовков для модуля GoogleAnalytics-iOS-SDK.

Как мне получить доступ к заголовкам заголовков Google Analytics в моем приложении?

Я пробовал;

import GoogleAnalytics_iOS_SDK

В файле Swift используется стиль cocoapods 0.36. Но нет никакой структуры, созданной больше, поэтому ничего хорошего.

#import <GoogleAnalytics_iOS_SDK/GAI.h>

В заголовке моста, но не работает (нет карты модуля?)


Я читал, что поведение для контейнеров, которые включают только заголовки в свои "sourse_files", изменено в cocoapods 0.37 (см. это фиксацию). По-видимому, это связано с проблемами, которые use_frameworks, вызванные этими пакетами, в 0,36 (см. Этот вопрос SO).

При этом изменении поведения Cocoapod статическая библиотека интегрирована правильно (это было не с 0,36), символы скомпилированы в приложение и доступны во время выполнения. Но у меня нет доступа к заголовкам.

4b9b3361

Ответ 1

Это ошибка в Cocoapods 0.37.0. Он зарегистрирован в своем трекере как № 3499.

Обход

  • Добавьте $(SRCROOT)/Pods/GoogleAnalytics-iOS-SDK в User Header Search Paths (установленный в Рекурсивный) в целевом приложении Build Settings.
  • Ссылка на заголовок Google Analytics непосредственно в заголовочном заголовке с #import "GAI.h"

Ответ 2

Другим трюком является добавление длинного относительного пути (ов) к заголовку моста.

Это позволяет избежать изменения параметров проекта, которые могут быть переопределены при следующем запуске `pod install ':

#import "../../Pods/GoogleAnalytics/Headers/Public/GAI.h"
#import "../../Pods/GoogleAnalytics/Headers/Public/GAIFields.h"
#import "../../Pods/GoogleAnalytics/Headers/Public/GAIDictionaryBuilder.h"

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

Ответ 3

Я не знаю, является ли это правильным ответом или нет, но способ, которым мы его работали, - это вручную импортировать libGoogleAnalyticsServices.a, а не через cocoapods.

Найдите libGoogleAnalyticsServices.a и перетащите его в проект, а затем добавьте его в Linked Frameworks and Libraries (если его там нет), и вам хорошо идти. Не забудьте удалить его из Podfile.

Редактирование:
Не забудьте добавить файлы заголовков в свой заголовок-заголовок

Ответ 4

У меня была аналогичная проблема с CocoaPods 0.39.0.

$(унаследовано) в настройке сборки 'OTHER_LDFLAGS' разрешил его.

fooobar.com/info/294433/...