Google Analytics 3.08 Класс IOS idfa отсутствует, не будет собирать idfa

Я загрузил Google Analytics, и я последовал их инструкциям, как реализовать аналитику в приложении. Но независимо от того, что я попробовал, я получил этот журнал в xcode: idfa class missing, won't collect idfa.

Снимок экрана для консольного сообщения

Итак, я google и обнаружил, что Apple отклонит приложения, у которых есть это предупреждение. Я также обнаружил, что Google исправил эту проблему с выпуском 3.03c и что нам не нужно импортировать библиотеку, которая использует рекламу. Я также запускаю их пример, и я получаю такой же журнал в их примере.

Итак, мой вопрос: одобрит ли Apple мое приложение, как его исправить?

enter image description here

enter image description here

Ответ 1

У меня такая же проблема. Это швы, что 3.08 lib связано с iAd.Framework Вот что я сделал - я вернулась к версии 3.03c. Вы можете скачать это здесь " https://dl.google.com/googleanalyticsservices/GoogleAnalyticsServicesiOS_3.03c.zip

Лучший способ - использовать Cocopoads для управления библиотеками с помощью pod 'GoogleAnalytics-iOS-SDK', '3.0.3c'

Ответ 2

Я использую 3.0.9. Мне удалось удалить предупреждение, связав его в библиотеке libAdIdAccess.a, снабженной GoogleAnalytics SDK и AdSupport.framework.

Ответ 3

Я использую версию 3.0.9 и чтобы избавиться от этого предупреждения, мне пришлось привязать библиотеку libAdIdAccess.a и AdSupport.framework вручную.

Чтобы сделать это, просто добавьте следующие строки в свои настройки сборки Other Linker Flags (OTHER_LDFLAGS):

-framework AdSupport

-force_load "$ {PODS_ROOT}/GoogleAnalytics-iOS-SDK/libAdIdAccess.a"

Он должен выглядеть так: enter image description here

Ссылка: Официальная документация

Ответ 4

Просто для получения других ответов. Я использую SDK Google Analytics v3.09, который я интегрировал без CocoaPod в Xcode 6. Чтобы удалить предупреждение, я просто добавил библиотеку libAdIdAccess.a в свой проект с помощью перетаскивания.

AdSupport.framework уже был включен в мой проект.

Примечание. Я не знаю, почему, но иногда Xcode ошибочно принимается за путь, добавляющий новую библиотеку таким образом, что приводит к ошибке ссылки. В этом случае просто измените путь в пути пути к библиотеке в настройках сборки: замените $(PROJECT_DIR)/YourDirectory/GoogleAnalyticsLibrary-3.09 на "$(SRCROOT)/YourDirectory/GoogleAnalyticsLibrary-3.09"

Ответ 5

Я использую v3.08 и получаю то же предупреждение. Я только что представил свое приложение, и оно было одобрено Apple. Я думаю, что они знают о проблеме, но не применяют ее в моем случае. Вы можете отправить свое приложение и взять время между представлением и решением удалить 3.08 и вернуться к 3.03c на случай, если они отклонят его.

Ответ 6

GoogleAnalytics-iOS-SDK устарел в пользу GoogleAnalytics

так что просто замените строку в файле pod на

 pod 'GoogleAnalytics'

Ответ 7

Все, что вам нужно сделать, это добавить libAdIdAccess.a в свой проект. Это часть доставки GoogleAnalyticsServicesiOS_3.09.

Ответ 8

pod 'GoogleIDFASupport'

Это позволит кокоаподам получить то, что вам нужно. Я тоже не должен был делать force_load.

Установка GoogleIDFASupport (3.14.0) Использование GoogleTagManager (3.15.0)

Ответ 9

Я использую 3.0.3c и не использую IDFA.

Howerer, "idfa class missing" по-прежнему регистрируется.

GAI.sharedInstance().logger.logLevel = GAILogLevel.Verbose

Я решил проблему, пытаясь удалить строку выше.

Ответ 10

Я использую 3.0.9. Для документации Google вам нужно установить для трекера трекер .allowIDFACollection равным NO.

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
tracker.allowIDFACollection = NO;

Это приведет к удалению предупреждения.