Google Analytics libAdIdAccess.a 不包含位码
Google Analytics libAdIdAccess.a does not contain bitcode
Xcode 7 beta 3 刚刚安装了一些 "additional components"(现在是 Version 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 代码 post 是我找到的唯一提及 GA 和位代码的地方。
如果我可以只为这个库禁用它而不是完全禁用 bitcode 就好了。这可能吗?
这个 提供了一个解决默认启用位码的方法,这最终可能是对那个更通用的问题的欺骗。
更新:
大家好消息!
Google Analytics 现在在 3.14 版本中支持 Bitcode。您可以从他们的下载源中获取它,但它尚未在 Cocoapods 上列出。
原文:
Google 需要将他们的分析 SDK 编译成位码库。然而,根据以前 Google 将他们的库更新到 64 位的经验,花了半年多的时间 iirc。
我的建议是,如果您不支持 watchOS,我们可以等一下,到
构建设置
启用位码
设为否
如果您支持 watchOS,请暂时使用其他分析工具。
额外信息:
这里的 google 论坛上有开发人员在谈论它:
https://groups.google.com/forum/#!topic/ga-mobile-app-analytics/d6ML4BKBBeY
Facebook 和 Fabric.io(Crashlytics、TwitterKit)已经更新为使用 bitcode,因此从技术上讲,Google 效仿应该不会太困难。我认为这种阻碍是政治因素。损失最大的是我们的用户。
欢迎回到 2013 年,正如@david-wong 提到的,Google 花了一年时间才支持 arm64。每当 Apple 宣布对工具链的更改或要求时,SDK 团队都会花费 Google ios 年的时间来更新他们的静态库。只是为了设定您的期望,他们最近才承认位码支持是一个 "high priority" 问题,即使应用 slicing/bitcode 是在 2015 年 6 月 8 日发布的。如果您在主要目标中使用 GA,GA将阻止您使用架构切片的极其宝贵的好处。
禁用位码不是解决方法,它只是禁用位码支持。希望管理 GA 的人看到这一点,并决定让 ios 成为第一个 class 公民。
Google 刚刚更新了 Google Analytics 和 Google 跟踪代码管理器 SDK(版本 3.14)以支持 Bitcode,因此您可以更新库并使用 "Enable Bitcode - Yes"旗帜。
如果您使用的是 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
这将遍历所有 pods 并将 ENABLE_BITCODE 标记为关闭。当然,您将无法为 watch / apple tv 编译(因为它们在某些版本上需要它)。
使用 pod 升级您的 GoogleAnalytics sdk。
- 打开终端
- 转到您的项目目录
- pod 初始化
- 打开在您的项目目录中创建的 pod 文件
写下几行
platform :ios, '10.0'
target “GoogleAnalyticsTestApp” do
pod 'GoogleAnalytics'
pod 'GoogleIDFASupport'
end
这将解决错误。您可以从以下链接添加 Google 的 Api:
Xcode 7 beta 3 刚刚安装了一些 "additional components"(现在是 Version 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 代码 post 是我找到的唯一提及 GA 和位代码的地方。
如果我可以只为这个库禁用它而不是完全禁用 bitcode 就好了。这可能吗?
这个
更新:
大家好消息!
Google Analytics 现在在 3.14 版本中支持 Bitcode。您可以从他们的下载源中获取它,但它尚未在 Cocoapods 上列出。
原文:
Google 需要将他们的分析 SDK 编译成位码库。然而,根据以前 Google 将他们的库更新到 64 位的经验,花了半年多的时间 iirc。
我的建议是,如果您不支持 watchOS,我们可以等一下,到
构建设置
启用位码
设为否
如果您支持 watchOS,请暂时使用其他分析工具。
额外信息:
这里的 google 论坛上有开发人员在谈论它: https://groups.google.com/forum/#!topic/ga-mobile-app-analytics/d6ML4BKBBeY
Facebook 和 Fabric.io(Crashlytics、TwitterKit)已经更新为使用 bitcode,因此从技术上讲,Google 效仿应该不会太困难。我认为这种阻碍是政治因素。损失最大的是我们的用户。
欢迎回到 2013 年,正如@david-wong 提到的,Google 花了一年时间才支持 arm64。每当 Apple 宣布对工具链的更改或要求时,SDK 团队都会花费 Google ios 年的时间来更新他们的静态库。只是为了设定您的期望,他们最近才承认位码支持是一个 "high priority" 问题,即使应用 slicing/bitcode 是在 2015 年 6 月 8 日发布的。如果您在主要目标中使用 GA,GA将阻止您使用架构切片的极其宝贵的好处。
禁用位码不是解决方法,它只是禁用位码支持。希望管理 GA 的人看到这一点,并决定让 ios 成为第一个 class 公民。
Google 刚刚更新了 Google Analytics 和 Google 跟踪代码管理器 SDK(版本 3.14)以支持 Bitcode,因此您可以更新库并使用 "Enable Bitcode - Yes"旗帜。
如果您使用的是 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
这将遍历所有 pods 并将 ENABLE_BITCODE 标记为关闭。当然,您将无法为 watch / apple tv 编译(因为它们在某些版本上需要它)。
使用 pod 升级您的 GoogleAnalytics sdk。
- 打开终端
- 转到您的项目目录
- pod 初始化
- 打开在您的项目目录中创建的 pod 文件
写下几行
platform :ios, '10.0' target “GoogleAnalyticsTestApp” do pod 'GoogleAnalytics' pod 'GoogleIDFASupport' end
这将解决错误。您可以从以下链接添加 Google 的 Api: