AdMob ARMv7s 支持

Posted

技术标签:

【中文标题】AdMob ARMv7s 支持【英文标题】:AdMob ARMv7s support 【发布时间】:2012-09-24 16:50:05 【问题描述】:

请注意,虽然这个问题被标记为armv7,但它属于armv7s。无法创建新标签。

我正在使用最新的 AdMob SDK (6.1.5),但似乎 AdMob 还不是为 armv7s 构建的

架构 armv7s 的未定义符号: “_OBJC_CLASS_$_GADBannerView”,引用自: libCompanyName.a(AdWhirlAdapterGoogleAdMobAds.o) 中的 objc-class-ref

如果有人让它工作,你能解释一下你的解决方法吗?

否则,有没有人知道解释何时更新的任何官方文档。

【问题讨论】:

这并不完全是问题的答案,但显然有一种方法可以破解库以使其与 armv7s 一起使用:galloway.me.uk/2012/09/hacking-up-an-armv7s-library 【参考方案1】:

更新到 Admob 6.2.0 或更高版本。

看到这个帖子:http://googleadsdeveloper.blogspot.com/2012/09/migrating-to-admob-v62-for-ios.html

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

【讨论】:

截至 9 月 26 日,这是一个更好的答案。 我可以确认 Admob 6.2.0 正确支持 armv7s【参考方案2】:

我在 libspotify sdk 上遇到了这个问题。我最终要做的是项目/构建设置/架构并将构建活动架构切换为是。

【讨论】:

我在这个工作区中有两个 xcodeprojs,我只将其中一个设置为是。我不知道这是否适用于实际设备。 虽然它可以编译并运行,但我认为该解决方案不适用于设备。它不适用于 iPhone 5 模拟器 是的。这至少可以构建您的产品,但就将其用于生产而言,需要进行更多研究【参考方案3】:

在 Target / Build Settings 中,Xcode 4.5 的默认值应显示架构设置的“Standard (armv7, armv7s)”。

将鼠标悬停并单击 + 以添加新条目:

"Any iOS SDK" => "armv7" //你需要手动输入。

这对我在 iPhone 5 上构建应用程序很有用,只要包含 Default-568h@2x.png 文件,就足以构建一个 4" iPhone 5 优化 UI。

但是,我忽略了您是否可以提交仅 armv7 的构建以及 Apple 是否会将其视为“iPhone 5”应用程序。 我也忽略了适当的 armv7s 编译会给您带来多少额外的优化。

【讨论】:

【参考方案4】:

添加这些框架:

AdSupport.framework StoreKit.framework

【讨论】:

以上是关于AdMob ARMv7s 支持的主要内容,如果未能解决你的问题,请参考以下文章

Flutter web 是不是有 AdMob 支持?

如何修复不支持的语言 admob

对 Kivy 的 Admob 支持(适用于 Android 的 Python)

使用带有最新支持库的 admob 15.0.0 时发生 Gradle 冲突

Mac OS X10.10_xcode6.1_ios8.1环境下,编译lame静态库libmp3lame.a,支持arm64 armv7s x86_64 i386 armv7指令集

Xcode 中armv6 armv7 armv7s arm64 i386 x86_64 归纳 (Architectures, Valid Architectures, Build Active Arc