我有一个功能齐全的iOS应用程序,我现在想要将AdMob网络中介集成到.我已经成功地让AdMob工作正常,但是Mediator需要设置链接器’-all_load’和’-ObjC'(在其他链接器标志中).如果我在没有它们的情况下构建,确实没有显示广告,并且在日志中它表示需要设置它们.
问题是我无法使用all_load或ObjC设置成功构建我的应用程序.我读到iOS应用程序不需要ObjC,但即使没有它,我仍然遇到all_load的问题.问题是我得到这个错误:
ld:复制符号[这里有一些命令] [一些静态库]和[相同命令的路径],用于架构armv7
clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
如果我删除有问题的静态库并重建,则错误只会移动到我拥有的下一个静态库,依此类推.由于我正在尝试安装广告中介,我的应用需要来自不同广告网络的多个静态库.
以下是我尝试失败的一些解决方案:
>编译armv6,而不是armv7(不管怎样都不是理想的修复,因为我想要两者)
>用force_load替换all_load [库的路径],并在实际的iOS设备上进行测试,因为显然这个方法无论如何都不能使用模拟器(这似乎没有做任何事情,我得到完全相同的问题,使用相同的无论如何在错误中找到的路径)
>删除all_load(构建,但就像我说的,AdMob Mediation需要它)
>删除违规库(显然不起作用,因为错误抱怨我需要的每一个静态库)
在解决此问题时,我们非常感谢您.
编辑:我的问题的解决方案
事实证明,我唯一没有尝试的只是在实际设备上使用-ObjC,这似乎对我有用!
EDIT2:NEVERMIND,仍然有麻烦
当被问及静态库导致我出现问题时,我会在下面引用我的评论:
“好吧,我通过排除all_load并且只包括ObjC让AdMob Mediation在没有任何其他网络的情况下工作,在我添加我的第一个网络Adfonic之前工作正常,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!”