如何保存webservice调用并在iOS中提供internet连接时使用它?
我试图在用户截图时实现webservice调用,我已经用下面的方法成功地实现了它如何保存webservice调用并在iOS中提供internet连接时使用它?,ios,swift,web-services,alamofire,Ios,Swift,Web Services,Alamofire,我试图在用户截图时实现webservice调用,我已经用下面的方法成功地实现了它 //this method get called when screenshot captured func detectScreenShot() { let mainQueue = OperationQueue.main NotificationCenter.default.addObserver(forName: NSNotification.Name.UIApplicationUserD
//this method get called when screenshot captured
func detectScreenShot() {
let mainQueue = OperationQueue.main
NotificationCenter.default.addObserver(forName: NSNotification.Name.UIApplicationUserDidTakeScreenshot,
object: nil,
queue: mainQueue,
using: { notification in
WEBSERVICE_INTERFACE.webServiceWithPostJSONParameters(param: nil, methodName: Constants.URLs.screenshot, headers: Constants.Headers.urlEncoded, showProgress: false, completion: { (response) in
if let response = response{
let response = BaseResponse(JSONString : response)
if let message = response?.message{
LIMITUtils.showAlertMessage(message: message)
}
}
})
})
}
但现在我有了一个场景,假设用户通过关闭互联网连接来截图,那么就不会发生Web服务调用,用户将从中受益。现在我想要一种解决方案,在没有连接的情况下保存webservice调用,并在internet连接可用时进行相同的调用。有人可以建议我如何进行此操作吗?使用“检查互联网可用”或不编写以下代码来检查互联网
//MARK:- check internet connection
func checkInternetStatus() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(reachabilityChanged(_:)), name:ReachabilityChangedNotification, object: nil)
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)) {
//Check for Internet Status
do {
self.reachability = try Reachability.reachabilityForInternetConnection()
try self.reachability?.startNotifier()
} catch {
jprint("Errore")
return
}
}
}
func reachabilityChanged(note:NSNotification) {
let Status = reachability?.currentReachabilityStatus //note.object as! Reachability
if Status != .NotReachable {
jprint("isNetworkAvailable = true")
isNetworkAvailable = true
} else {
jprint("isNetworkAvailable = false")
ShowFlinntAlert("No internet", description: "Your internet connection seems to be down")
isNetworkAvailable = false
}
}
在调用API之前,只需检查
guard isInternetAvailable() else {
return
}
我知道可访问性,但是如果没有可用的internet连接,我想保存webservice call,但是谢谢如果您自己通过捕获窗口上传图像,或者如果您发送用户拍摄快照的屏幕名称,您可能会将其保存在某个位置(用户默认值/archive/coredata)当互联网可用时,你可以再次排队。但是看看你的代码,你只是在触发一个没有任何参数的API,所以你打算用这个API做什么可能会回答你的问题。@GoodSp33d我只是想在调用API时减少用户信用,但是如果当时无法连接internet,这不会发生,用户将得到benifit@AkshaykumarMaldhure你找到解决这个问题的办法了吗?