【问题标题】:iOS 5.1 ReachabilityiOS 5.1 可达性
【发布时间】:2012-03-14 02:20:11
【问题描述】:

我正在尝试在 ios 5.1 中使用可达性,但它给了我一个 Match-o Linker 错误。 我正在使用 Xcode 4.3 并使用 armv6 和 armv7 构建我的应用程序。我读过 Reachability 与 armv7 不兼容,这可能会导致错误。真的吗? 如果是这样,是否有任何解决方法可以让我的应用程序检查互联网连接? 是的,我都进口了

Reachability.h

SystemConfiguration.framework

我的示例实现代码如下:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkNetworkStatus:) name:kReachabilityChangedNotification object:nil];    
internetReachable = [Reachability reachabilityForInternetConnection];
[internetReachable startNotifier];    
hostReachable = [Reachability reachabilityWithHostName: @"www.apple.com"];
[hostReachable startNotifier];

提前感谢!

【问题讨论】:

    标签: ios5 reachability xcode4.3


    【解决方案1】:

    【讨论】:

    • 你甚至可以使用块来代替 NSNotificationCenter
    • 不是原始可达性对我不起作用的问题,它没有触发网络不可达通知。这个库效果更好!谢谢
    • @Tony 看起来这些块在 iOS 5.1 上工作。我有一种方法可以每隔一小时检查一次与我的服务器的连接,以发送调查结果,但并非总是会执行。 UnreachableBlock 方法反应良好,但reachableBlock 并非总是如此。
    • 嗨 Tony:为什么在检查可达性时不会发布通知?调试显示它正在到达reachabilityChanged 中的postNotificationName 代码,但在视图控制器中从未观察到通知。我尝试使用块,它显示可达,但我想了解这两种方法。
    【解决方案2】:

    不确定你是否已经解决了这个问题。

    但是,如果您阅读了 Xcode 4 中突出显示的实际错误,并且如果它说类似

    “ld:重复符号 _OBJC_IVAR__Reachability.reachabilityRef in ...链接器命令失败,退出代码为 1(使用 -v 查看调用)”

    也就是说,您已经在项目中的某个地方包含了 Reachability.h 和 Reachability.m,现在您已经包含了一个副本。

    删除 Reachability.h 和 Reachability.m 的所有重复副本,并在项目文件中的某处仅保留 1 个副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多