我正在尝试在我的应用中实现交互式推送通知。该应用已成功收到通知。
收到通知后,我在锁定屏幕上有两个按钮。它们都应该启动两个Web服务
以下是application handleActionWithIdentifier
func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forRemoteNotification userInfo: [NSObject : AnyObject], completionHandler: () -> Void) {
let aps = userInfo["aps"] as NSDictionary
let id = aps["id"] as Int
let notification = Notifications()
notification.notificationId = NSNumber(integer: id)
if identifier == "APPROVE"{
APIManager.sharedInstance.approveApprovalRequest(notification)
}
else if identifier == "DELETE"{
APIManager.sharedInstance.dismissBulletin(notification)
}
completionHandler()
}
我用过
NSURLSession.sharedSession().dataTaskWithRequest(request,
completionHandler: { (data, response, error) -> Void in}).resume()
用于网络服务电话。
但它会返回连接错误。
我该如何解决这个问题。任何帮助表示赞赏。
编辑:
这是我在日志中收到的错误
Error Domain=NSPOSIXErrorDomain Code=9 "The operation couldn’t be completed.Bad file descriptor"
UserInfo=0x1552ca00 {_kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=9}
答案 0 :(得分:2)
这对我有用。
let data = NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error: error)
答案 1 :(得分:1)
如果你打开了背景模式,你可以在功能中执行此操作并选择远程通知。
<强>更新强> 在多任务处理和网络连接中,如果应用程序被挂起并且回收套接字,则可以获得EBADF错误了解有关此here的更多信息
注意:当您的应用程序恢复执行时,故意未在此处指定已回收资源的套接字返回的实际错误,以便将来进行细化。但是,在许多情况下,错误将是EBADF,这可能不是您所期望的!在正常情况下,EBADF意味着应用程序已将无效的文件描述符传递给系统调用。但是,对于已回收资源的套接字,并不意味着文件描述符无效,只是套接字不再可用。
提示:检查1366
n)