gpt4 book ai didi

iphone - NSMutableURLRequest setHTTPBody : crash

转载 作者:行者123 更新时间:2023-11-28 20:47:50 27 4
gpt4 key购买 nike

我正在尝试将一些数据在线发送到 PHP 脚本,以便为我的 iOS 应用程序提交在线分数。

该脚本将需要使用 HTTP 请求的正确转义字符格式化的帐户凭据。兑现应用程序的是 setHTTPBody 方法:

        [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=%@&password=%@&score=%i",[ogl_view->username stringByAddingPercentEscapesUsingEncoding:NSUnicodeStringEncoding],[text_field.text stringByAddingPercentEscapesUsingEncoding:NSUnicodeStringEncoding],ogl_view->score[0]] dataUsingEncoding:NSUnicodeStringEncoding]];
NSURLConnection * connection = [[NSURLConnection alloc] initWithRequest: request delegate:self];
if (connection){
received_data = [[NSMutableData data] retain];
ogl_view->section = CURLING_PROCESS_CREDENTIALS;
}else{
ogl_view->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];
}

我发现它在调用 setHTTPBody 方法时崩溃。有谁知道为什么吗?

感谢您的任何回答。

编辑:这是崩溃日志:

    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
)

最佳答案

-setHTTPBody 接受 NSData,而不是 NSString。在设置之前,您需要将 NSString 转换为 NSData

幸运的是,NSString 有一个dataUsingEncoding: 方法来让它变得 super 简单。

关于iphone - NSMutableURLRequest setHTTPBody : crash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3628356/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com