gpt4 book ai didi

iOS Admob 网络中介 : Duplicate Symbols Error With all_load and ObjC

转载 作者:可可西里 更新时间:2023-11-01 03:11:51 25 4
gpt4 key购买 nike

我知道以前有人问过这个问题,但我已经尝试了所有我能找到的方法,但都没有奏效。

我有一个功能齐全的 iOS 应用,现在我想将 AdMob 网络中介与其集成。我已经成功地让 AdMob 正常工作,但 Mediator 需要设置链接器“-all_load”和“-ObjC”(在其他链接器标志中)。果然,如果我在没有它们的情况下构建,则不会显示任何广告,并且在日志中它表示需要设置它们。

问题是我无法使用 all_load 或 ObjC 集成功构建我的应用程序。我读到 ObjC 不是 iOS 应用程序所必需的,但即使没有它,我仍然遇到 all_load 的问题。问题是我收到此错误:

ld:体系结构 armv7 的重复符号 [此处的某些命令] [某些静态库] 和 [相同命令的路径]clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

如果我删除有问题的静态库并重新构建,错误只会转移到我拥有的下一个静态库,依此类推。因为我正在尝试安装广告中介,所以我的应用需要来自不同广告网络的多个静态库。

以下是我尝试过但失败的一些解决方案:

  • 针对 armv6 而非 armv7 进行编译(无论如何都不是理想的解决方案,因为我两者都想要)
  • 将 all_load 替换为 force_load [库路径],并在实际的 iOS 设备上进行测试,因为显然此方法无论如何都不适用于模拟器(这似乎没有任何作用,我遇到了完全相同的问题,使用无论如何在错误中找到相同的路径)
  • 删除 all_load(构建,但正如我所说,AdMob 中介需要它)
  • 删除有问题的库(显然不起作用,因为错误会提示我需要的每一个静态库)

感谢任何帮助解决此问题。

编辑:我的问题的解决方案

事实证明,我唯一没有尝试的是只在实际设备上使用 -ObjC,这似乎对我有用!

EDIT2:没关系,仍然有问题

当被问及是什么静态库导致我出现问题时,我将在下面引用我的评论:

“好吧,我通过排除 all_load 并仅包含 ObjC 让 AdMob 中介在没有任何其他网络的情况下工作,它工作正常,直到我添加了我的第一个网络 Adfonic,它目前与 MobileAppTracking 有冲突,我得到:ld:[path]/Adfonic SDK/libAdfonic.a(Reachability.o) 和 [path]/Objects-normal/armv6/Reachability.o 中的重复符号 _OBJC_IVAR_$_Reachability.reachabilityRef 架构 armv6 clang:错误:链接器命令失败退出代码 1(使用 -v 查看调用)”

我通过删除所有其他广告网络库来了解 Admob Mediator 的基本功能,但在我的第一个第三方网络集成中,我在它与我已实现的跟踪库 MobileAppTracking 之间遇到了另一个冲突。仍在寻找解决“重复符号”的解决方案。

编辑 3

我可以确认,我尝试使用 AdMob 中介程序(AdMob 本身除外)的每个广告网络都无法编译,其中大部分是由于重复符号错误。我不明白这是怎么回事,因为我确定我不是唯一使用 Admob 中介服务的人。

编辑 4

我将在下面引用我的评论:

“我实际上设法让大部分广告网络和库为我工作,我不得不删除编译源下的相当多的引用,但我仍然编译它,仍然使用 -ObjC 和 -全部加载!”

最佳答案

你可以使用-force_load "path/to/your/libGoogleAdMobAds.a"而不是 -all_load,这将仅加载您的 libGoogleAdMobAds

关于iOS Admob 网络中介 : Duplicate Symbols Error With all_load and ObjC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10343075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com