제목에 설명 된대로 원격 알림이 올 때 텍스트로 답장을 보낼 수 있습니다. 홈 버튼을 한 번 탭하면 내 http 요청이 제대로 작동하지만 앱이 실행되고 있지 않을 때는 기다리지 않아도 작동하지 않습니다. 앱이 실행되면 앱도 작동합니다. 지금ios - NSURLSession with dataTaskWithRequest는 앱 실행 중일 때만 실행됩니다. 앱이 실행되지 않는 동안에는 실행되지 않습니다.
// Please work
func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forRemoteNotification userInfo: [NSObject : AnyObject], withResponseInfo responseInfo: [NSObject : AnyObject], completionHandler:() -> Void) {
print(userInfo["personB"])
if identifier == "comment-reply" {
if let response = responseInfo[UIUserNotificationActionResponseTypedTextKey],
responseText = response as? String {
let request = NSMutableURLRequest(URL: NSURL(string: "https://example.com/post-ios.php")!)
request.HTTPMethod = "POST"
let p = "a=123&b=\(responseText)"
request.HTTPBody = p.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request)
task.resume()
}
}
completionHandler()
}
, 내가 필요 해요 : -VoIP 증명서, -background 세션 구성, -dispatch 뭔가 또는 -upload 작업?
아무도 도와 줄 수 있습니까? 업로드 작업
func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forRemoteNotification userInfo: [NSObject : AnyObject], withResponseInfo responseInfo: [NSObject : AnyObject], completionHandler:() -> Void) {
let id = userInfo["personB"]!
if identifier == "comment-reply" {
if let response = responseInfo[UIUserNotificationActionResponseTypedTextKey],
responseText = response as? String {
let conf = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("replyPost")
let requ = NSMutableURLRequest(URL: NSURL(string: "https://example.com/post-ios.php")!)
requ.HTTPMethod = "POST"
let data = "a=123&b=\(responseText)".dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession(configuration: conf, delegate: self, delegateQueue: NSOperationQueue.mainQueue()).uploadTaskWithRequest(requ, fromData: data!)
task.resume()
}
}
completionHandler()
}
에 대한
UPDATE는 너무 작동하지 않습니다. 추가 처리기를 추가합니까?
네가 맞아. 우리는 백그라운드 세션 설정이 필요하지 않습니다. 기본 설정으로 충분합니다. 액션 앱 상태로 응답 할 때 이미 실행 상태가되기 때문입니다. 감사 :) – zippo