我有一个奇怪的问题是崩溃我的应用程序,我想就如果可能的一些意见。NSURLConnection崩溃的应用程序,但只有在打开和关闭电子邮件应用程序
我有一个NSURLConnection,将POST数据提交给一个外部PHP文件,并得到一个显示在iPhone上的回应。
这一切工作正常,可以无误地做很多次,没有任何泄漏出现在分析和没有任何崩溃。
该应用程序还有一个“电子邮件回复”选项,如果这被按下,电子邮件程序打开,这一切都正常工作,没有问题。
但是,在关闭电子邮件程序并再次返回到主应用程序时,如果现在按下“获取数据”按钮,并且再次完成NSURLConnection,则应用程序立即崩溃。
我不能在模拟器上测试它,因为它不能在模拟器上打开电子邮件程序 - 这只能在iPhone上进行实际测试。在Xcode中完成的所有测试和分析显示出良好,并没有指出任何问题。
我所有的NSURLConnection的代码发布和检索数据如下:
- (void)FetchData {
result.text = @"";
emailbutton.hidden = YES;
emailbutton.enabled = NO;
NSString *queryStringFull = [queryStringFirst stringByAppendingString:textField.text];
NSURL *url = [NSURL URLWithString:@"http://www.mydomain.com/mypage.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
NSData *requestData = [queryStringFull dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPMethod:@"POST"];
[request setValue:@"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: requestData];
[NSURLConnection connectionWithRequest:(request) delegate:self];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
responseData = [[NSMutableData alloc] init];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[responseData appendData:data];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString* responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
if (![responseString isEqualToString:@"error"]) {
result.text = responseString;
emailbutton.hidden = NO;
emailbutton.enabled = YES;
}
[responseString release];
[responseData release];
}
我会是什么原因造成这一点,如何解决它的任何意见或想法非常感谢。
与什么冲突?发布您的崩溃日志。 – 0x8badf00d 2012-01-18 00:37:16