0

NSURLconnection を使用するアプリがありますが、3G を使用すると「ネットワーク接続が失われました」というエラーが表示され、Web サービスとの通信に一貫して失敗するようです。ただし、アプリはwifiで問題なく動作します。

何が問題になる可能性があるかについてのアイデアはありますか? 3G を処理するために NSURLconnection で何か特別なことをする必要がありますか?

私が使用する NSURL コード例の 1 つ。

        NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
    if (conn) {
        XMLData = [NSMutableData data];     
    }

デリゲート メソッド

 -(void) connection:(NSURLConnection *) connection 
 didReceiveResponse:(NSURLResponse *) response {
    [XMLData setLength: 0];
 }

-(void) connection:(NSURLConnection *) connection 
didReceiveData:(NSData *) receiveddata {
[XMLData appendData:receiveddata];
}

-(void) connection:(NSURLConnection *) connection 
   didFailWithError:(NSError *) error {
     self.errorLabel.text = [error localizedDescription];

 }

 -(void) connectionDidFinishLoading:(NSURLConnection *) connection {
     NSLog(@"DONE. Received Bytes: %d", [XMLData length]);
     NSString *theXML = [[NSString alloc] 
                    initWithBytes: [XMLData mutableBytes] 
                    length:[XMLData length] 
                    encoding:NSUTF8StringEncoding];

   //i do some xml parsing on the data returned
   }
4

1 に答える 1

1

私はNSLogをデリゲートメソッドに入れ始めました。didReceiveData から始めます。

 -(void) connection:(NSURLConnection *) connection didReceiveData:(NSData *) receiveddata          { 
            if (receiveddata != nil){ 
            [XMLData appendData:receiveddata];
             NSLog(@"didReceiveData :receiveddata is:%@", receiveddata);

            }
    else{ 
        NSLog(@"NO Data:%@");
        }

    }
于 2012-06-01T19:28:00.303 に答える