Note that there are some explanatory texts on larger screens.

plurals
  1. PONSMutableURLRequest setHTTPBody: crash
    text
    copied!<p>I'm trying to send some data to a PHP script online to submit online scores for my iOS application.</p> <p>The script will require account credentials formatted with the proper escape characters for a HTTP request. It's the setHTTPBody method which cashes the application:</p> <pre><code> [text_field removeFromSuperview]; text_field.text = @""; //Remove text so it doesn't show because the text field is still on top of the open gl view text_field.enabled = NO; NSMutableURLRequest * request=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"secret"] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:10.0]; [request setHTTPMethod: @"POST"]; [request setHTTPBody: [[NSString stringWithFormat:@"username=%@&amp;password=%@&amp;score=%i",[ogl_view-&gt;username stringByAddingPercentEscapesUsingEncoding:NSUnicodeStringEncoding],[text_field.text stringByAddingPercentEscapesUsingEncoding:NSUnicodeStringEncoding],ogl_view-&gt;score[0]] dataUsingEncoding:NSUnicodeStringEncoding]]; NSURLConnection * connection = [[NSURLConnection alloc] initWithRequest: request delegate:self]; if (connection){ received_data = [[NSMutableData data] retain]; ogl_view-&gt;section = CURLING_PROCESS_CREDENTIALS; }else{ ogl_view-&gt;section = CURLING_LOGIN_OR_REGISTER; UIAlertView *connection_alert = [[UIAlertView alloc] initWithTitle:@"Error" message: @"Can't connect to server" delegate:nil cancelButtonTitle:@"Close" otherButtonTitles: nil]; [connection_alert show]; [connection_alert release]; } </code></pre> <p>I've found that it crashes at the point that the setHTTPBody method is called. Does anyone know why?</p> <p>Thank you for any answer.</p> <p>Edit: Here's the crash log:</p> <pre><code> 2010-09-02 19:02:30.291 iPhone Monkey Curling[431:207] -[DOMText stringByAddingPercentEscapesUsingEncoding:]: unrecognized selector sent to instance 0x5c97ce0 2010-09-02 19:02:30.293 iPhone Monkey Curling[431:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[DOMText stringByAddingPercentEscapesUsingEncoding:]: unrecognized selector sent to instance 0x5c97ce0' *** Call stack at first throw: ( 0 CoreFoundation 0x02531919 __exceptionPreprocess + 185 1 libobjc.A.dylib 0x0267f5de objc_exception_throw + 47 2 CoreFoundation 0x0253342b -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 3 CoreFoundation 0x024a3116 ___forwarding___ + 966 4 CoreFoundation 0x024a2cd2 _CF_forwarding_prep_0 + 50 5 iPhone Monkey Curling 0x00004338 -[PasswordFieldDelegate textFieldShouldReturn:] + 450 6 UIKit 0x00699358 -[UIKeyboardImpl callShouldInsertText:] + 148 7 UIKit 0x05f29c86 -[UIKeyboardImplAccessibility(SafeCategory) callShouldInsertText:] + 70 8 UIKit 0x006a0693 -[UIKeyboardImpl addInputString:fromVariantKey:] + 107 9 UIKit 0x006a2957 -[UIKeyboardImpl handleKeyEvent:] + 1723 10 UIKit 0x007c31c0 -[UIKeyboardLayoutStar sendStringAction:forKey:] + 684 11 UIKit 0x007c79ba -[UIKeyboardLayoutStar touchUp:] + 2556 12 UIKit 0x006b99a3 -[UIKeyboardLayout touchesEnded:withEvent:] + 550 13 UIKit 0x0058a2ff -[UIWindow _sendTouchesForEvent:] + 567 14 UIKit 0x0056c1ec -[UIApplication sendEvent:] + 447 15 UIKit 0x00570ac4 _UIApplicationHandleEvent + 7495 16 GraphicsServices 0x02d97afa PurpleEventCallback + 1578 17 CoreFoundation 0x02512dc4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 18 CoreFoundation 0x02473737 __CFRunLoopDoSource1 + 215 19 CoreFoundation 0x024709c3 __CFRunLoopRun + 979 20 CoreFoundation 0x02470280 CFRunLoopRunSpecific + 208 21 CoreFoundation 0x024701a1 CFRunLoopRunInMode + 97 22 GraphicsServices 0x02d962c8 GSEventRunModal + 217 23 GraphicsServices 0x02d9638d GSEventRun + 115 24 UIKit 0x00574b58 UIApplicationMain + 1160 25 iPhone Monkey Curling 0x00002388 main + 102 26 iPhone Monkey Curling 0x00002319 start + 53 ) </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload