我正在尝试在我的项目中使用 Google Analytics iOS,它支持 iOS 4.0 以上版本并查看 Google Analytics 资源 page我可以看到 1.5 版支持架构 armv6 而不是 armv7,在 1.5.1 上他们添加了对 armv7 的支持但删除了 armv6.
因此,如果我的项目同时支持这两种架构,并且我尝试使用 1.5.1,我会在链接器上收到错误消息:
ld: file is universal (3 slices) but does not contain a(n) armv6 slice: libGoogleAnalytics.a for architecture armv6
如果我从项目支持的体系结构列表中删除 armv6,它编译正常,可以在设备和模拟器上运行,但稍后我将在提交到 apple store 时收到错误,验证器说:
at least one of the following architectures must be present: armv6.
有什么方法可以创建同时具有 armv6 和 armv7 的库版本?
最佳答案
我最终将 iOS(iOS 开发目标)的最低版本更改为 4.3,因此它通过了验证并提交到苹果商店(4.2.5 及更高版本将不需要 armv6)。
然而,经过一些研究,我发现 1.5 版本(没有指向 tgz 的链接,但很容易猜到最新的 1.5.1: http://dl.google.com/gaformobileapps/GoogleAnalyticsiOS_1.5.tar.gz )做了包含对 armv7 的支持,与他们的更改日志相反。
通过使用 otool ,我可以在静态库中验证支持的体系结构,并且该项目编译并链接到这个 1.5 版本。
关于ios - 尝试为 armv6 和 armv7 将项目与 libGoogleAnalitics.a 链接的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13169990/