AppleからReachability Classを使ってインターネット接続をチェックしました。私は以下のコードに共有します。私はオンラインでアプリを開くとうまくいきます。しかし、私がオフラインでアプリケーションを開こうとするとReachability機能が起動しません。誰も私がこの問題を解決するのを助けることができますか? ここでユーザーがオフラインでアプリケーションを起動したときに到達可能性がなくなった
ありがとうございました。これは、到達可能性を必要とするコードのすべてに答えるのは難しいものですが、hereはI私が使用したビデオですAppDelegate.swift
var reachability: Reachability?
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "checkForReachability:", name:kReachabilityChangedNotification, object: nil)
reachability = Reachability.reachabilityForInternetConnection();
reachability?.startNotifier();
return true
}
func checkForReachability(notification: NSNotification) {
let title_alert = NSLocalizedString("Connection Problem", comment: "Connection Problem")
let remoteHostStatus = self.reachability!.currentReachabilityStatus()
if (remoteHostStatus == NotReachable) {
let myAlert = UIAlertController(title:title_alert, message:NSLocalizedString("Please Check Your Connection", comment: "Connection Problem"), preferredStyle: UIAlertControllerStyle.Alert)
let okAction = UIAlertAction(title:NSLocalizedString("Try Again",comment:"Connection Problem"), style:UIAlertActionStyle.Default) {
action in
self.checkForReachability(notification)
}
myAlert.addAction(okAction)
self.window?.rootViewController?.presentViewController(myAlert, animated:true, completion:nil)
}
}
あなたは、接続の可用性が変化した場合に呼び出されるコールバック関数を登録したいと思います。例については、http://stackoverflow.com/questions/33551191/swift-pass-data-to-a-closure-that-captures-contextを参照してください。 –