5
iOSアプリケーションの起動時にメソッドを呼びたいのですが、接続があるときにこのメソッドを呼び出すだけです。私はObjective-CでReachable
を使うことができますが、このメソッドはSwiftの一部ではないことがわかりました。Swift:接続が失われたときや戻ってきたときにリスナーに報告するにはどうすればよいですか?
私はReachability.swiftと呼ばれるポッドを発見した、と私は提供された例を使用しています:
override func viewWillAppear(animated: Bool) {
let reachability: Reachability
do {
reachability = try Reachability.reachabilityForInternetConnection()
} catch {
print("Unable to create Reachability")
return
}
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "reachabilityChanged:",
name: ReachabilityChangedNotification,
object: reachability)
do {
try reachability.startNotifier()
} catch {
print("This is not working.")
return
}
}
func reachabilityChanged(note: NSNotification) {
let reachability = note.object as! Reachability
if reachability.isReachable() {
if reachability.isReachableViaWiFi() {
print("Reachable via WiFi")
} else {
print("Reachable via Cellular")
}
} else {
print("Not reachable")
}
}
しかし、これは正常に動作していません。私はそのViewControllerに入ったときにのみ動作しますが、WiFiをオンにして電源を切ると動作しません。
ちょっと私のプロジェクトでこれを使用しようとしましたが、速やかに3 .reachabilityForInternetConnection()が認識されないようです。修正方法を教えてください。 – Dakata
あなたのソリューションも私のために働いた...ありがとう! :) –