我遇到无法识别的选择器错误,因为我的App在运行时调用方法时解析了错误的库。
什么:
我使用Reachability
和私有框架,我们会说FooLib
我在调用方法之前得到了以下运行时警告
类可达性在两者中都实现
.../Frameworks/Reachability.framework/Reachability(0x106590d18)
和.../Frameworks/FooLib.framework/FooLib(0x10628d6b8)
将使用两者之一。哪一个未定义。
FooLib
与Reachability
没有依赖关系,也没有依赖关系,也没有提到Reachability这个词。
FooLib
函数时,堆栈跟踪中的内存指针明确解析为Reachability
***由于未捕获的异常终止应用' NSInvalidArgumentException',原因:' + [Reachability reachabilityForLocalWiFi]:无法识别的选择器发送到类0x10628d6b8'
Podfile
App
和我的FooLib
中的Podfile配置包含:
use_frameworks!
尝试:
有没有人知道最新情况?任何见解都会非常感激。
答案 0 :(得分:1)
好的,这只是猜测,如果事实证明是完全废话,我会删除答案......
Apple已弃用 - and maybe just have removed - 方法reachabilityForLocalWiFi
。
因此,您的pod可能只是导入满足编译器的旧头文件,但在运行时,该函数不再存在,因此无法识别的选择器异常。< / p>
然而,有趣的是要找出这是否真的是原因,以及为什么podfiles以这种方式“行为不端”。