1

我有一个使用 Google 移动广告 SDK(我相信是 v 5.0.5)的现有 iOS 应用程序。我需要将其升级到最新版本以获得 DoubleClick 支持。但是,我收到链接器错误。

我的步骤如下:

  1. 从项目中删除以前 SDK 的文件引用
  2. 删除以前的libGoogleAdMobAds.a链接库
  3. 按照设置说明进行操作(准确无误,包括所需的框架,仅包括特定文件,以及添加其他链接器标志)

具体错误是:

架构 i386 的未定义符号:
  “_CGSizeFromGADAdSize”,引用自

或者

  “_kGADAdSizeBanner”,引用自

我还缺少什么?

4

1 回答 1

0

也许您也需要 -all_load 链接器标志选项?根据这篇文章,它对于较新的 ARM7 目标已经过时,但也许您有一个旧目标?

http://vntin.com/feeds.feedburner.com/blogspot/LTiVe

请参阅本节下方:“对 armv7s 的支持”

“如果您的目标是 armv7s 架构,您将不再需要将 -all_load 链接器标志添加到您的项目中。”

[更新]

您可以尝试使用 nm 命令验证 lib*.a 文件中的内容。

nm -U libGoogleAdMobAds.a  | grep kGADAdSizeBanner

此外,单击日志导航器可能会提供一些附加信息。选择最后一个图标,然后选择左侧导航中的最后一个构建。

在此处输入图像描述

[更新 2]

该网站上的某个人还抱怨新 API 的链接器问题。可能需要对您的代码进行一些小的更改。

http://www.monkeycoder.co.nz/Community/posts.php?topic=1246

最新的 AdMob SDK 发生了一些变化。我得到相同的链接器错误。我可以使用旧版本的 SDK,这一切都很好。有人知道广告尺寸会发生什么变化吗?

编辑:发现问题。常量名称发生了一些变化:)

https://developers.google.com/mobile-ads-sdk/docs/ios/intermediate

更改 GAD_ 广告尺寸:

kGADAdSizeBanner.size.width 和 kGADAdSizeBanner.size.height
于 2013-06-27T02:17:31.390 回答