Ios 从iPhone应用程序回复观看消息

Ios 从iPhone应用程序回复观看消息,ios,watchkit,apple-watch,watchos-2,Ios,Watchkit,Apple Watch,Watchos 2,我正在使用手表通过sendMessage功能向iPhone发送信息。在iPhone端,我使用didReceiveMessage函数进行回复。在iPhone端,我根据发送给它的消息运行HTTP请求,并使用请求的回复进行回复。它通过按下手表上的按钮来工作。我第一次按下按钮时,手表没有收到回复,但在第二次尝试和每次尝试之后,我都会收到iPhone的回复。有人知道为什么第一次尝试永远不会成功吗?请记住,如果我同时打开了watch应用程序和iOS应用程序,第一次尝试就会成功。(在其他情况下,我只打开了wa

我正在使用手表通过sendMessage功能向iPhone发送信息。在iPhone端,我使用didReceiveMessage函数进行回复。在iPhone端,我根据发送给它的消息运行HTTP请求,并使用请求的回复进行回复。它通过按下手表上的按钮来工作。我第一次按下按钮时,手表没有收到回复,但在第二次尝试和每次尝试之后,我都会收到iPhone的回复。有人知道为什么第一次尝试永远不会成功吗?请记住,如果我同时打开了watch应用程序和iOS应用程序,第一次尝试就会成功。(在其他情况下,我只打开了watch应用程序)

您需要异步调用HTTP请求,并在HTTP请求的完成处理程序中将消息发送回watch

此代码示例将发送异步请求:


您是否在应答处理程序中发送HTTP响应?如果您正在进行异步HTTP调用,您可以向手表发送消息,然后HTTP调用完成。我正在回复句柄中发送HTTP响应。您是否考虑过更改它,以便在HTTP请求完成时将消息发送回手表?这将清除由laggy 3g等引起的错误。然而,即使iphone应用程序没有运行(也是第一次),WC InstantMessage也应该可以工作。尝试删除HTTP请求,看看是否第一次收到响应。如果我删除HTTP请求,它将在第一次尝试时响应。当HTTP请求完成时,我将如何发送消息?第一次尝试时它仍然不起作用。关于问题可能是什么,还有其他建议吗?在iPhone端,我在appdelgate文件中运行了所有会话代码,因此不应该存在应用程序不可用的问题。我正在使用AFNetworking,因此它已经是请求的异步调用
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
{


if (error)
                        {
                            //NSLog(@"Error,%@", [error localizedDescription]);
                        }
                        else 
                        {
                            //This is where you send message to the watch
                        } 
}];