我在Xcode中有一个iOS项目.它包含大量链接库,包括GoogleInteractiveMediaAds.framework以及内部播放器库,我相信它也与此框架相关联.两者都是嵌入式二进制文件.
该项目编译得很好但在运行时我收到以下错误:
GAD_GTMStringEncoding类在/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds和APP_PATH中实现.将使用两者之一.哪一个未定义.
在模拟器上,尽管有这样的警告,应用程序每次都按预期工作 - 我得到了我期待的前贴片广告,插播广告和后贴片广告.每次.在设备上,这是一个不同的故事,广告有时工作,有时不工作.我知道上述问题会导致不同目标的行为不同,我怀疑这种冲突是设备功能损坏的原因.
我在SO上找到的解决方案建议更改名称空间或从我的应用程序或我链接的库中删除链接.问题是,如果我在项目中删除嵌入式二进制文件,则无法编译:
dyld:未加载库:
@ rpath/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds
引用自:APP_PATH
原因:未找到图像
(lldb)
我已经看到一些人建议从应用程序中删除链接并使用播放器的内部实例(然后我不得不希望播放器针对我需要的版本进行编译),但是你究竟怎么做那?那甚至可以在这种情况下工作吗?
另外,有没有办法确定GoogleInteractiveMediaAds.framework的其他实例来自哪里?我只是假设它在内部播放器库中,但我不确定,因为我没有源.错误消息只是为我提供了编译应用程序的路径,因为它里面有30个链接库,所以它没什么帮助.
提前致谢.