我知道之前已经问过这个问题,但是我已经尝试了所有我能找到的东西,而且没有一个有效。
我有一个功能齐全的iOS应用程序,我现在想要将AdMob网络中介与。我已经成功地让AdMob正常工作,但Mediator需要连接器' -all_load'和' -ObjC'待设置(在其他链接标志中)。如果我在没有它们的情况下构建,确实没有显示广告,并且在日志中它表示需要设置它们。
问题是我无法使用all_load或ObjC设置成功构建我的应用程序。我读到ObjC对iOS应用程序来说并不是必需的,但即使没有它,我仍然遇到all_load的问题。问题是我收到了这个错误:
ld:复制符号[这里有一些命令] [一些静态库]和[相同命令的路径]用于架构armv7 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
如果我删除有问题的静态库并重建,则错误只会移动到我拥有的下一个静态库,依此类推。由于我正在尝试安装广告中介,我的应用需要来自不同广告网络的多个静态库。
以下是我尝试失败的一些解决方案:
在解决此问题时,我们非常感谢您。
编辑:我的问题的解决方案
事实证明,我唯一没有尝试的只是在实际设备上使用-ObjC,这似乎对我有用!
EDIT2:NEVERMIND,仍然有麻烦
当被问及静态库导致我出现问题时,我会在下面引用我的评论:
"我通过排除all_load并且只包括ObjC让AdMob Mediation在没有任何其他网络的情况下工作,这是正常工作,直到我添加了我的第一个网络,Adfonic,目前与MobileAppTracking相冲突,我得到: ld:[path] / Adfonic SDK / libAdfonic.a(Reachability.o)中的重复符号_OBJC_IVAR _ $ _ Reachability.reachabilityRef和架构armv6 clang的[path] /Objects-normal/armv6/Reachability.o:错误:链接器命令失败退出代码1(使用-v查看调用)"
通过删除所有其他广告网络库,我有Admob Mediator的工作,但是在我的第一个第三方网络集成中,我和我实施的跟踪库之间发生了另一个冲突,MobileAppTracking。仍在寻找解决问题的解决方案'。
编辑3
我可以确认,我尝试使用AdMob Mediator的每个广告网络(AdMob本身除外)都无法编译,其中大多数是由于重复的符号错误。我不明白这是怎么回事,因为我确定我不是唯一使用Admob的中介服务的人。
编辑4
我引用下面的评论:
"我实际上设法让大多数广告网络和图书馆都在为我工作,我不得不在Compile Sources下删除相当多的引用,但是我得到了它编译得非常少,仍然使用 - ObjC和-all_load!"
答案 0 :(得分:2)
答案 1 :(得分:2)
请删除SKD文件夹中的add-one文件夹
答案 2 :(得分:1)
添加名为“EXCLUDED_SOURCE_FILE_NAMES”的用户定义的构建设置: 如this article所示,或修改.a文件,如this article所示。
答案 3 :(得分:1)
您是否找到了解决该问题的方法?
我只是删除-all_load param,我的应用程序在我的设备上运行良好。 但我不确定这个伎俩。
答案 4 :(得分:0)
我遇到了同样的问题。在其他链接器中添加-ObjC后,我无法编译(它抱怨重复的符号和可达性。)。删除它会让我编译,但AdMob正在崩溃应用程序。
经过大量测试并玩了很多参数后,我做了以下工作,现在正在运行: 我去了目标 - > AppName - >构建阶段 - >编译源并删除Reachability.m。 编译得很好,AdMod也在不崩溃的情况下工作。
答案 5 :(得分:0)
删除“附加”文件夹中除“中介”文件夹以外的所有文件夹。
它对我有用。