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;
Это приведет к удалению предупреждения.