Google Analytics libAdIdAccess.a не містить біт-коду


83

Xcode 7 beta 3 щойно встановив деякі "додаткові компоненти" (тепер версія 7.0 beta 3 (7A152u)), і тепер я отримую помилку компілятора:

ld: '/<abbreviated>/Vendor/Analytics/GoogleAnalytics/libAdIdAccess.a(TAGActualAdIdAccess.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ця публікація в Google Code - єдина згадка про GA та біт- код, яку я знайшов.

Було б непогано, якби я міг вимкнути його лише для цієї бібліотеки, а не повністю вимкнути біт-код. Це можливо?

Ця відповідь дає змогу вирішити проблему, коли біт-код увімкнено за замовчуванням, і це, зрештою, може бути обманом цього більш загального питання.


3
Я підозрюю, що Google оновить їх загальнодоступне джерело та Cocoapods, коли Xcode 7 стане остаточним.
Michael Dautermann

2
Це справедливо - тим часом я за замовчуванням відключаю біт-код, як я вказав у своєму питанні
bdalziel

3
З насінням Xcode 7.0 GM це все ще не вдається, але я ще не бачив оновлення GA.
DiscDev

З досвіду, GA може зайняти кілька тижнів ...
Вінзіус

1
@MichaelDautermann XCode7 та iOS9 вже тут, і від Google немає нічого нового
Kubba

Відповіді:


76

Оновлення:

Всім гарних новин!

Google Analytics тепер підтримує Bitcode з їх випуском 3.14. Ви можете завантажити його з їх джерел завантаження, однак його ще немає в списку Cocoapods.

Завантаження SDK Google Analytics

Журнал змін

Оригінал:

Google повинен зібрати їх аналітичний SDK у бібліотеку біт-кодів. Однак, з попереднього досвіду роботи Google із оновленням їхніх бібліотек до 64-розрядних, це зайняло понад півроку iirc.

Моя порада полягає в тому, що якщо ви не підтримуєте watchOS, ми можемо просто дочекатися цього

  1. Параметри побудови

  2. Увімкнути біт-код

  3. Встановити на Ні

Якщо ви підтримуєте watchOS, наразі використовуйте інший інструмент аналітики.

Додаткова інформація:

Розробники говорять про це на форумі Google тут: https://groups.google.com/forum/#!topic/ga-mobile-app-analytics/d6ML4BKBBeY

Facebook і Fabric.io (Crashlytics, TwitterKit) вже оновили для використання біт-код, тому технічно для Google не повинно бути занадто складно наслідувати їхній приклад. Я вважаю, що цей тип затримки - це політика. Найбільше втрачають наші користувачі.


5
Чому вони це роблять, або не підтримують iOS, або оновіть свої інструменти до нової версії. У нас є бета-версія вже давно, і вона вийде через тиждень чи близько того
MKoosej

Так, розчарування, чи не так? Я задавав ті самі запитання ще тоді, коли був 64-розрядний перехід.
Девід Вонг

Дякую за додаткову інформацію , зокрема @DavidWong і переформулювавши загальний відповідь: stackoverflow.com/a/30856364/822164
bdalziel

2
Використання ряду сторонніх SDK для iOS. Google єдиний, хто досі не оновив свої. Я кидаю Google SDK і, мабуть, не збираюся його повторно додавати. Забагато клопоту.
Ville Laurikari

3
Слід зазначити, що якщо ви використовуєте стручок верхнього рівня, наприклад Google/Analytics, тоді біт-код не буде працювати, навіть з 3.14. GoogleAnalyticsНатомість вам потрібно використовувати стручок.
Крістік

4

Ласкаво просимо до 2013 року, як згадував @ david-wong, Google потребував року, щоб підтримати arm64. Щоразу, коли Apple повідомляє про зміну або вимогу до ланцюжка інструментів, команді Google ios SDK потрібні роки, щоб оновити свою статичну бібліотеку. Просто щоб встановити ваші очікування, вони нещодавно визнали, що підтримка біт-коду є проблемою "високого пріоритету", навіть незважаючи на те, що нарізання додатків / біт-код було оголошено 8 червня 2015 року. Якщо ви використовуєте GA у своїй головній цілі, GA запобіжить вам від використання надзвичайно цінної переваги нарізки архітектури.

Вимкнення біт-коду не є обхідним шляхом, це просто відключення підтримки біт-коду. Сподіваємось, хтось, хто керує GA, це бачить і вирішує зробити ios громадянином першого класу.


2

Google щойно оновив пакети SDK Google Analytics та Google Tag Manager (версія 3.14) для підтримки біт-коду, тому ви можете оновити бібліотеки та скомпілювати свій додаток, використовуючи прапорець "Увімкнути біт-код - так".

Сторінка завантаження

Пряме посилання


1
Слід зазначити, що якщо ви використовуєте стручок верхнього рівня, наприклад Google/Analytics, тоді біт-код не буде працювати, навіть з 3.14. GoogleAnalyticsНатомість вам потрібно використовувати стручок.
Крістік

2

Оновіть свій GoogleAnalytics sdk за допомогою pod.

  1. Відкрити термінал
  2. Перейдіть до каталогу проекту
  3. стручок ініт
  4. Відкрийте файл pod, створений у каталозі вашого проекту
  5. Напишіть такі рядки

    platform :ios, '10.0'
    
    target “GoogleAnalyticsTestApp” do
       pod 'GoogleAnalytics'
       pod 'GoogleIDFASupport'
    end
    

Це дозволить вирішити помилку. З наступних посилань ви можете додати Google Api:

1. http://cocoapods.org/pods/GoogleAnalytics

2. http://developers.google.com/ios/guides/cocoapods


[ cocoapods.org/pods/GoogleAnalytics] [ developers.google.com/ios/guides/cocoapods] За цим посиланням ви можете додати будь-які API Google для iOS
Rubaiyat

1

Якщо ви використовуєте cocoapods, ви можете додати це в кінці Podfile:

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ENABLE_BITCODE'] = 'NO'
        end
    end
end

Це буде повторюватися через всі стручки та позначити ENABLE_BITCODE вимкненим. Звичайно, ви не зможете скомпілювати для годинника / яблучного телебачення (оскільки це потрібно для деяких версій).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.