Я пытаюсь интегрировать обнаружение сетевого подключения в мое приложение, однако кажется, что где-то вдоль линии я допустил ошибку, так как мои сетевые изменения не были обнаружены/распечатаны в консоли.
Как упоминалось в сообщении, в настоящее время я использую следующие классы и инструменты для работы:
- Достижимость
{.h, .m}
-
NSNotificationCenter
- Сетевой концентратор
код
В AppDelegate.Swift я установил NSNotificationCenter
для обнаружения изменений:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// ...
// A: Checks if the device is connected to the internet
var defaultCenter: Void = NSNotificationCenter().addObserver(self, selector:"checkForReachability", name: kReachabilityChangedNotification, object: nil)
}
В том же классе AppDelegate
я также создал эту функцию для запуска при каждом изменении:
func checkForReachability () {
var networkReachability = Reachability.reachabilityForInternetConnection()
networkReachability.startNotifier()
var remoteHostStatus = networkReachability.currentReachabilityStatus()
if (remoteHostStatus.value == NotReachable.value) {
println("Not Reachable")
} else if (remoteHostStatus.value == ReachableViaWiFi.value) {
println("Reachable via Wifi")
} else {
println("Reachable")
}
}
Однако при использовании средства Network Link Conditioner для управления и моделирования изменений условий я не смог увидеть ни одно из этих изменений, отраженных в консоли. Любая помощь будет набухать!