我知道有两种情况会导致以下错误:
ld: warning: instance method 'resetAudioSystem' in category from /opentok-ios-sdk/Opentok.framework/Opentok(OTPublisher+AudioSnoop.o) conflicts with same method from another category
ld: warning: instance method 'attachAudioSnoopBlock:' in category from /opentok-ios-sdk/Opentok.framework/Opentok(OTPublisher+AudioSnoop.o) conflicts with same method from another category
ld: warning: instance method 'setVideoSnoopDelegate:' in category from /opentok-ios-sdk/Opentok.framework/Opentok(OTPublisher+VideoSnoop.o) conflicts with same method from another category
可能性一:一个类别实例方法被声明了两次。(此处描述:SO)
但是,当我搜索 3 个实例方法中的任何一个(在 Xcode 或 Grep 中)时,我没有发现它声明了两次。
可能性 2:意外导入 .m 文件。(此处描述:SO)
但是,我检查了所有的导入,并且在整个项目中只导入了一次框架。此外,仅在构建阶段出现一次。
我的程序运行没有崩溃,大概是因为使用了最后添加的类别定义并且它恰好是正确的。(来源)
问题1:有没有办法在添加之前知道这两个类别的位置?
问题2:关于如何解决这个问题的任何其他想法?
注意:Opentok 框架是一个二进制文件
发生在:
xcode 4.6 和 xcode 5
iOS6 & iOS7