Assertion failure in -[AFHTTPRequestSerializer requestWithMethod:URLString:parameters:error:]
Asked Answered
S

3

5

Whenever i run this function i get assertion error, what should i do

   [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    NSString *link = [NSString stringWithFormat:@"%@device_model_no=%@&device_serial_no=%@&device_imei=%@&note=%@&disclaimer=%@&extra_note=%@&package_plan=%@&price=%@&duration=%@&device=%@&user_reg_id=%@&device_category=%@",KURL,txtModelNumber.text,txtSerialNo.text,txtIMEI.text,txtViewExtra.text,deviceDisclamer,additonalDetail.text,plan,price,duration,deviceName,userID,nil];
    NSLog(@"%@",link);

    manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];

    [manager GET:link parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"JSON: %@", responseObject);


        NSLog(@"%@", responseObject);

        NSDictionary *returnedDealDict = responseObject ;
        NSArray *returnArray = [returnedDealDict objectForKey:@"result"];

        for(NSDictionary *dealDict in returnArray)
        {
            if ([dealDict objectForKey:@"success"])
            {
                ALERT_VIEW(@"Thanks1! Your information has been saved Successfully! We will contact you soon.")
            }
            else
            {
                ALERT_VIEW(@"Your information doesn t exist in our database, Please go back and enter your contact info again!")
            }
        }
        success();

        [MBProgressHUD hideHUDForView:self.view animated:YES];




    }
         failure:^(AFHTTPRequestOperation *operation, NSError *error) {
             NSLog(@"Error: %@", error);
             ALERT_VIEW(@"Error occured while loading data.");
             NSLog(@"getBrandDevice Error");
             [MBPro

gressHUD hideHUDForView:self.view animated:YES];
             }];

I get this error

** Assertion failure in -[AFHTTPRequestSerializer requestWithMethod:URLString:parameters:error:], /Users/ios2/Desktop/untitled folder/PhablatFIx/PhablatFIx/MVC/Model/AFNetworking/AFURLRequestSerialization.m:277
    2014-09-25 10:33:26.733 PhablatFIx[721:90b]

* Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: URLString' * First throw call stack:

Straitjacket answered 25/9, 2014 at 5:42 Comment(1)
What does the URL end up being?Fields
S
22

you need to add this line of code in order to avoid invalid parameter url string

 NSString *encoded = [link stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Sapp answered 25/9, 2014 at 5:58 Comment(2)
Working like a rocket!Straticulate
Where to add this line? @noorUnkind
G
3
  • (nullable NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)enc NS_DEPRECATED(10_0, 10_11, 2_0, 9_0, "Use -stringByAddingPercentEncodingWithAllowedCharacters: instead, which always uses the recommended UTF-8 encoding, and which encodes for a specific URL component or subcomponent since each URL component or subcomponent has different rules for what characters are valid.");

@NullData answer work perfectly at this moment, but method stringByAddingPercentEscapesUsingEncoding is deprecated so , you guys should consider to use stringByAddingPercentEncodingWithAllowedCharacters method instead.

like this for swift

let path = myurlstring.stringByAddingPercentEncodingWithAllowedCharacters( NSCharacterSet.URLQueryAllowedCharacterSet())

or this for objc

path = [path stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
Glop answered 26/7, 2016 at 7:41 Comment(0)
T
3

May url address is incorrect, there are spaces, wrong characters , etc. For example: enter image description here

Tergal answered 6/8, 2016 at 9:23 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.