如果wifi網絡連接發生變化(連接到新的ntwk或連接到新的ntwk),是否可以通知ios應用程序(可能未激活)?如何讓我的ios應用程序能夠響應wifi更改事件
我要建立一個應用程序(即使在非激活狀態)應該得到通知時,連接到一個特定的WiFi網絡,並做一些事情。
在Android中,我能夠實現它使用BroadcastReceiver是否有任何這樣的設施在iOS?
謝謝, Praneeth。
如果wifi網絡連接發生變化(連接到新的ntwk或連接到新的ntwk),是否可以通知ios應用程序(可能未激活)?如何讓我的ios應用程序能夠響應wifi更改事件
我要建立一個應用程序(即使在非激活狀態)應該得到通知時,連接到一個特定的WiFi網絡,並做一些事情。
在Android中,我能夠實現它使用BroadcastReceiver是否有任何這樣的設施在iOS?
謝謝, Praneeth。
我們在iOS中有一個名爲Reachability
的類,用於檢測任何網絡閃爍/斷開/連接。
可達類,可以發現here
使用
添加Reachability.swift類項目。
這是斯威夫特2.x版代碼,而不是3.0
對於斯威夫特3.X版本檢查我的答案斯威夫特3.X的here
樣品 https://www.dropbox.com/sh/bph33b12tyc7fpd/AAD2pGbgW3UnqgQoe7MGPpKPa?dl=0
在您的AppDelegate
使Reachability
類
private var reachability:Reachability!
的對象在didFinishLaunchingWithOptions
添加觀察員爲你的網絡可達性
//Network Reachability Notification check
//add an observer to detect whenever network changes.
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(checkForReachability), name: ReachabilityChangedNotification, object: nil)
do {self.reachability = try Reachability.reachabilityForInternetConnection()
} catch {
}
do {
try self.reachability.startNotifier()
} catch{
}
,讓您的選擇功能checkForReachability
檢測AppDelegate
func checkForReachability(notification:NSNotification) {
let reachability = notification.object as! Reachability
if reachability.isReachable() {
if reachability.isReachableViaWiFi() {
print("Reachable via WiFi")
} else {
print("Reachable via Cellular")
}
} else {
print("Network not reachable")
}
}
網絡更改/網絡斷開連接
每當網絡發生變化/網絡中斷或網絡發生故障時呃,Reachability
類會觸發一個ReachabilityChangedNotification
,最終會調用這個用戶定義的方法checkForReachability
。所以,你可以在這裏處理任何事情。
您是否有任何客觀的C代碼 –
這是不適用於背景模式的應用程序。 –
添加到上面的回答,您可以使用雨燕3
let reachability = Reachability()!
reachability.whenReachable = { reachability in
// this is called on a background thread, but UI updates must
// be on the main thread, like this:
dispatch_async(dispatch_get_main_queue()) {
if reachability.isReachableViaWiFi() {
print("Reachable via WiFi")
} else {
print("Reachable via Cellular")
}
}
}
希望它可以幫助..
乾杯以下爲!
它爲你工作? –
嗨Rajan, 我的應用程序有兩個部分, 第1部分 - 使其反應無線變化, 第2部分 - 編程一些其他的東西。 正如我想出的那樣,第2部分是不可能的,我放棄了我的應用程序的這個想法,並沒有真正嘗試過。 非常感謝您的幫助 –