我正在尝试在我的应用程序中实现交互式推送通知。应用程序成功地收到了通知。
当收到通知时,我在锁screen.Both上有两个按钮,它们应该启动两个Webservices。
这是我在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}发布于 2015-08-22 10:26:14
这是对我有用的。
let data = NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error: error)发布于 2015-08-13 09:40:30
如果您打开了后台模式,您可以在功能中这样做并选择远程通知。
多任务和联网中的更新如果应用程序被挂起并重新声明套接字,您可以获得EBADF错误,阅读更多关于此这里的信息
注意:当您的应用程序恢复执行时,它的资源已被回收的套接字返回的实际错误在这里是故意不指定的,以便允许将来的改进。但是,在许多情况下,错误将是EBADF,这可能不是您所期望的!在正常情况下,EBADF意味着应用程序向系统调用传递了无效的文件描述符。但是,对于资源已被回收的套接字,这并不意味着文件描述符无效,只意味着套接字不再可用。
提示:检查APIManager.sharedInstance.approveApprovalRequest(notification的实现)
https://stackoverflow.com/questions/31984530
复制相似问题