我有以下代码用于将数据发布到远程服务器:
NSString *urlStr = [[NSString alloc] initWithFormat: @"http://www.myserver.com/%@",program ];
NSString *postBody =[[NSString alloc] initWithFormat:@"uid=%@",parms];
NSMutableURLRequest *request;
NSData *postData = [postBody dataUsingEncoding:NSISOLatin1StringEncoding];
NSError *error;
NSURLResponse *response;
NSData *dataReply;
request = [NSMutableURLRequest requestWithURL: [NSURL URLWithString:urlStr]];
[request setHTTPMethod: @"POST"];
[request setHTTPBody:postData];
dataReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
serverResponse = (NSString *)[[NSString alloc] initWithData:dataReply encoding:NSUTF8StringEncoding];
[postBody release];
[urlStr release];
程序是在服务器上运行的php程序。 parms是以格式发布的字符串:
\ntoken=12345
问题在于:这可以从模拟器中正常工作。它在我的3gs开发手机上工作正常。它在我通过电子邮件发送应用程序的测试版3g手机上运行良好。它在另一个beta测试者的iPhone 4上运行不正常(通过电子邮件发送给他完全相同的配置文件和ipa文件)。 POST调用是从iPhone 4到服务器,但没有传递邮件正文。我将每个调用记录到服务器上的服务器上。邮政机构有3gs手机,而不是4手机。 Apache日志中没有生成错误。
我需要考虑的两种手机型号之间有什么区别吗?我尝试过具有相同行为的http和https访问。我目前无法访问iPhone 4,因此任何见解都将是一个很大的帮助。
答案 0 :(得分:0)
答案与模型无关。它与手机的名称有关,该名称作为参数传递给服务器。该名称包含Mike的iPhone中的撇号。