应用程序崩溃使用afhttpsessionmanager 3.0

时间:2017-06-29 07:13:15

标签: ios objective-c

我在webservices.m

中尝试过这样的话
  AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  manager.requestSerializer=[AFHTTPRequestSerializer serializer];

  manager.responseSerializer=[AFHTTPResponseSerializer serializer];

  manager.responseSerializer.acceptableContentTypes =[NSSet setWithObject:@"text/html"];
[manager POST:meetingupdateurlparams parameters:meetingdictparams progress:nil
      success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable
                responseObject)
 {
     NSLog(@"Complete");
 } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull
             error)
 {
     NSLog(@"Fail %@",error);
 }];

我在Viewcontroller.m

中调用此服务
   NSString *updateMeetingurl=@" url ";

NSDictionary *dictparms=@{ params };
[Servicecall meetingupdate:updateMeetingurl meetingupdatedict:dictparms];
[Servicecall setDelegate:self];

但我收到的错误就是这样

  

- [AFHTTPSessionManager:参数:进度:成功:失败:]无法识别的选择器发送到实例0x792cfcb0'   ***首先抛出调用堆栈:

所以任何人都可以帮助发行... ...提前感谢..

3 个答案:

答案 0 :(得分:0)

<强>更新

我现在看到你在哪里做错了。

POST:meetingupdateurlparams这一部分。 你不应该使用 而是POST:meetingupdateurl

我不确定您正在使用哪种版本的AFNetworking。

但似乎您使用的方法签名不存在。

尝试使用POST:parameters:success:failure:代替POST:parameters:progress:success:failure

请参阅documentation

答案 1 :(得分:0)

试试这个使用Afnetworking 3

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"URL"parameters:@{@"paramter":@""} constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        //if you want to pass image file
        if (image) {
            [formData appendPartWithFileData:UIImageJPEGRepresentation(image, 0.8) name:imagename fileName:@"Image.jpg" mimeType:@"image/jpeg"];
        }

    }error:nil];

   AFURLSessionManager *managers = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    managers.responseSerializer = [AFJSONResponseSerializer serializer];
    NSURLSessionUploadTask *uploadTask;
    uploadTask = [managers
                  uploadTaskWithStreamedRequest:request
                  progress:^(NSProgress * _Nonnull uploadProgress) {
                      dispatch_async(dispatch_get_main_queue(), ^{
                      });
                  }
                  completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
                      if (error) {

                      } else {
                       // here your response
                      }
                  }];

    [uploadTask resume];

答案 2 :(得分:0)

我得到了同样的错误。

这是Xcode的问题,您应该清理构建文件夹(或删除您的DerivedData文件夹,Xcode - &gt;首选项 - &gt;位置 - &gt;位置 - &gt;派生数据)。因为Xcode没有完全清除旧版本AFNetworking。