13

我刚刚升级了我的应用程序以在新的 iPhone5 模拟器上运行,但是当我尝试为我的 iPhone 4S 设备构建它时,我收到了这个 Apple Mach-O Liner 错误。

ld:文件是通用的(3 个切片)但不包含一个(n)armv7s 切片:/Users/Darren/Documents/Dev stuff/My App/GoogleAdMobAdsSDKiOS-5.0.5/libGoogleAdMobAds.a 用于架构 armv7s clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

有人可以阐明这个错误是什么以及如何解决它吗?我正在将 adWhirl 与 AdMob 一起使用。

谢谢

编辑---我也在另一个项目中为文件 libfacebook_ios_sdk.a 收到此错误

4

4 回答 4

11

与我在此线程中给出的答案相同:

如果您想删除对任何架构的支持,请尝试以下操作:

项目 -> 构建设置 -> 从“有效架构”中删除架构

在库更新之前,您可以将其用作临时解决方案。您必须从您自己的项目中删除该标志。

于 2012-09-16T12:10:09.810 回答
2

iPhone5的cpu是A6(armv7s)。现有的 Admob sdk 不支持。我们必须等待 admob 更新 sdk。

于 2012-09-14T09:33:40.680 回答
2

更新到 Admob 6.2.0 或更高版本。

请参阅这篇文章:http: //googleadsdeveloper.blogspot.com/2012/09/migrating-to-admob-v62-for-ios.html

此外,包括 AdSupport 框架并删除 -all_load 标志。但是,您必须使用 -ObjC 标志。

这对我有用,终于!!

于 2012-09-27T16:55:15.153 回答
0

尝试这个:

本文将 armv7 lib 代码复制为 armv7s 并构建到原始 lib 中。所以 xcode 会看到 lib 有一个 armv7s 代码/arch

http://www.galloway.me.uk/2012/09/hacking-up-an-armv7s-library/

于 2012-10-10T13:26:43.613 回答