微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 类GAD_GTMStringEncoding在和中实现.将使用两者之一.哪一个未定义

我在 Xcode中有一个iOS项目.它包含大量链接库,包括GoogleInteractiveMediaAds.framework以及内部播放器库,我相信它也与此框架相关联.两者都是嵌入式二进制文件.

该项目编译得很好但在运行时我收到以下错误

Class GAD_GTMStringEncoding is implemented in both
/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds
and APP_PATH. One of the two will be used. Which one is undefined.

在模拟器上,尽管有这样的警告,应用程序每次都按预期工作 – 我得到了我期待的前贴片广告,插播广告和后贴片广告.每次.在设备上,这是一个不同的故事,广告有时工作,有时不工作.我知道上述问题会导致不同目标的行为不同,我怀疑这种冲突是设备功能损坏的原因.

我在SO上找到的解决方案建议更改名称空间或从我的应用程序或我链接的库中删除链接.问题是,如果我在项目中删除嵌入式二进制文件,则无法编译:

dyld: Library not loaded:
@rpath/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds
Referenced from: APP_PATH
Reason: image not found
(lldb)

我已经看到一些人建议从应用程序中删除链接并使用播放器的内部实例(然后我不得不希望播放器针对我需要的版本进行编译),但是你究竟怎么做那?那甚至可以在这种情况下工作吗?

另外,有没有办法确定GoogleInteractiveMediaAds.framework的其他实例来自哪里?我只是假设它在内部播放器库中,但我不确定,因为我没有源.错误消息只是为我提供了编译应用程序的路径,因为它里面有30个链接库,所以它没什么帮助.

提前致谢.

解决方法

在最初坚持认为问题出现在我们的代码中之后,负责这个框架的Google团队最终被迫承认(在我们提供了一个示例应用程序之后),这是他们的代码而不是我们的代码的问题.它在更新中得到了解决.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐