58 lines
2.2 KiB
Swift
58 lines
2.2 KiB
Swift
//
|
|
// MPNetWorkManager.swift
|
|
// MusicPlayer
|
|
//
|
|
// Created by Mr.Zhou on 2024/4/11.
|
|
//
|
|
|
|
import UIKit
|
|
import Network
|
|
///网络状况管理器
|
|
class MPNetWorkManager: NSObject {
|
|
//单例工具
|
|
static let shared = MPNetWorkManager()
|
|
//私有初始化
|
|
private override init() {
|
|
super.init()
|
|
}
|
|
///检查网络状况
|
|
func requestNetworkPermission(oberve:UIViewController, completeHanlder:ActionBlock?) {
|
|
let monitor = NWPathMonitor()
|
|
monitor.pathUpdateHandler = { path in
|
|
switch path.status {
|
|
case .satisfied:
|
|
DispatchQueue.main.async {
|
|
guard completeHanlder != nil else {
|
|
return
|
|
}
|
|
completeHanlder!()
|
|
}
|
|
default://网络权限出现问题
|
|
DispatchQueue.main.async {
|
|
//次要处理
|
|
let alertController = UIAlertController(title: "Access network request", message: "”Musicoo“ needs to be loaded via a network request. Please click “Settings” to allow this application to gain access to the network.", preferredStyle: .alert)
|
|
let CancelAction = UIAlertAction(title:"Cancel", style: .cancel) { (Cancel) in
|
|
|
|
}
|
|
let OKAction = UIAlertAction(title: "Settings", style: .default) { (action) in
|
|
let url = URL(string: UIApplication.openSettingsURLString)
|
|
if let url = url,UIApplication.shared.canOpenURL(url){
|
|
if #available(iOS 10, *) {
|
|
UIApplication.shared.open(url, options: [:]) { (success) in
|
|
}
|
|
}else{
|
|
UIApplication.shared.canOpenURL(url)
|
|
}
|
|
}
|
|
}
|
|
alertController.addAction(CancelAction)
|
|
alertController.addAction(OKAction)
|
|
oberve.present(alertController, animated: true, completion: nil)
|
|
}
|
|
}
|
|
}
|
|
let queue = DispatchQueue(label: "MPNetWorkManager")
|
|
monitor.start(queue: queue)
|
|
}
|
|
}
|