直接贴上一个函数
var reachableImp:Reachability?;
/*
初始化启动时的一些和网络相关的请求
监听网络,处理两种情况
1. 启动无网络时,注册apns失败的重试和初始化请求医院科室信息重试
2. iOS10以上,首次安装应用,国行设备会强制弹出是否允许网络,待用户点击允许后网络才可用, 解决此类情况的重试
*/
func startSKInit()
{
reachableImp = Reachability.forInternetConnection();
//启动检查,无网络时启动监听
if(reachableImp?.isReachable() == false)
{
reachableImp?.reachableBlock = { [weak self](re:Reachability!)->Void in
//获取网络权限后或有网时执行
self?.registerAPNs()
self?.loadLocalDB()
self?.reachableImp?.stopNotifier()
}
reachableImp?.startNotifier()
}else
{
//启动时有网络,正常执行
self.registerAPNs()
self.loadLocalDB()
}
}
网友评论