Reachability *r = [Reachability reachabilityWithHostName:@"www.google.com"];
这条线在设备上工作正常,但在模拟器上我崩溃了:
* 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'+ [Reachability reachabilityWithHostName:]:无法识别的选择器发送到类
有谁知道为什么?
答案 0 :(得分:9)
我遇到了几乎相同的问题,除了链接器在我通过pod添加后没有链接Reachability。
internetReachable = [Reachability reachabilityWithHostName:@"www.google.com"];
在这一行中,编译器给出错误'没有已知的选择器reachabilityWithHostName的类方法:'。
我尝试读取可达性,尝试清理项目,没有任何帮助。然后我只是尝试重写这一行并编译!
internetReachable = [Reachability reachabilityWithHostname:@"www.google.com"];
现在我明白为什么它有用了。因为我的旧代码来自另一个项目,其他版本的Reachability和选择器是'HostName',但新的代码是'Hostname'。
在重写之前我正在检查Reachability是否有这种方法,而且在我看来它有,我无法理解这个问题。事实证明,我没有注意到一封信中的这个小变化!
答案 1 :(得分:3)
解决了,我正在升级Reachability,我搜索了网络,我发现有人曾经有过这个,只是删除了系统配置框架并重新添加它,清理项目然后重新构建它将完全适用于模拟器和设备