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