繁体   English   中英

使用iOS 8交互式推送通知调用Web服务

[英]Call web service with interactive push notification iOS 8

我正在尝试在我的应用中实现交互式推送通知。 该应用已成功收到通知。

收到通知后,我在锁定屏幕上有两个按钮。它们都应该启动两个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()

用于Web服务调用。

但它会返回连接错误。

我该怎么解决这个问题。 任何帮助赞赏。

编辑:

这是我在日志中收到的错误

Error Domain=NSPOSIXErrorDomain Code=9 "The operation couldn’t be completed.Bad file descriptor"

UserInfo=0x1552ca00 {_kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=9}

这对我有用。

let data = NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error: error)

如果您打开背景模式,可以在功能中执行此操作并选择远程通知。

更新在多任务和网络中,如果应用程序被挂起并且回收套接字,则可以获得EBADF错误在此处阅读更多相关信息

注意:当您的应用程序恢复执行时,故意未在此处指定已回收资源的套接字返回的实际错误,以允许将来进行细化。 但是,在许多情况下,错误将是EBADF,这可能不是您所期望的! 在正常情况下,EBADF意味着应用程序已将无效的文件描述符传递给系统调用。 但是,对于已回收资源的套接字,并不意味着文件描述符无效,只是套接字不再可用。

提示 :检查APIManager.sharedInstance.approveApprovalRequest(notificatio的实现APIManager.sharedInstance.approveApprovalRequest(notificatio

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM