从我的iPhone应用程序发送信息到我的电脑

时间:2011-06-24 13:24:59

标签: iphone objective-c xcode

所以我有一个非常简单的问题,我不知道如何去做(这里的一切都是新的)。我正在开发一个我打算只使用自己的iPhone应用程序 - 所以现在想想:)让我说我的应用程序正在做的是每小时跟踪我的位置。我想做的就是能够在iphone上读取这些信息,比如在我的电脑上的文件上。如何将此信息从我的应用程序发送到个人计算机?我猜我需要在我的个人机器上设置一些服务器/数据库或其他东西?

有人可以帮忙快速一步一步地解决这个问题吗?我真的不知道从哪里开始...

谢谢!

5 个答案:

答案 0 :(得分:3)

您只需要一个http服务器,然后您就可以在您的计算机上创建URL设置的HTTP GET / POST请求。您可以使用响应将数据发送回设备。

答案 1 :(得分:1)

在Mac上设置Ruby on Rails服务器。这是免费的,非常简单。 使用ASIHTTPRequest将数据发送到Ruby服务器。 http://allseeing-i.com/ASIHTTPRequest/

答案 2 :(得分:1)

如果您只需要来回获取数据,我相信您可以使用文件共享。这是一个如何设置的教程:

http://www.raywenderlich.com/1948/how-integrate-itunes-file-sharing-with-your-ios-app

它允许您查看iTunes中的文件,并在通过USB连接iPhone时来回复制它们。如果你需要做的只是将原始数据文件放到你的计算机上,这可能比仅仅为了传输文件而构建/运行完整服务器的开销要少得多。

答案 3 :(得分:1)

您需要有一个侦听器才能将数据发送到。例如,您可以在项目中设置一个通信类,它将负责作为应用程序之间的媒介。然后,您将在服务器或您的计算机上设置监听器,以监听请求。

  

iPhone> “通信类”>网络服务   (在这种情况下是.NET)

您可以使用NSURLConnection对象来实现此目的。 E.g。

   - (void) sendSomethingToServer:(NSString*)myData{
        NSString*url = [[NSString alloc]initWithFormat: @"http://example.com/service.asmx/RecordData?myData='%@'", myData];
        [self createRequest:url];
        [url release];
    }

http://example.com/service.asmx/RecordData是您网络服务的位置和方法。

这是我创建的通用请求方法,它将标头设置为JSON包。

- (void) createRequest: (NSString*)urlFormatted {
    NSLog(@"Request Sent");
    NSURL *url = [NSURL URLWithString: urlFormatted];
    NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL: url];

    [request setHTTPMethod:@"GET"];
    [request setValue:@"application/json; charset=UTF-8" forHTTPHeaderField:@"Content-Type"];
}

在后端,在您的Web服务器上,您将拥有一个接收数据的方法。显然,您可以在服务器上使用任何您想要的技术。在这个例子中,我在Mono上使用.NET,例如

[WebMethod(Description = "Generic Client Data)]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public string RecordData(string myData)
{
  // Do something with data
}

答案 4 :(得分:0)

Apple可以帮助您入门。在文档中搜索“网络”,并使用您自己的协议开发双方的客户端。