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 支持的主要内容,如果未能解决你的问题,请参考以下文章
对 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