Intereting Posts
Сертификат разработчика iOS отображается как «Без названия» Xcode: добавьте вложение, используя сборщик для отправки по электронной почте ios ffmpeg с поддержкой ABI с плавающей запятой Пользовательский UICollectionViewLayout layoutAttributesForElementsInRect не отменяет какой-либо метод из своего суперкласса в Swift 2.0 Speedier std :: insert, или, как оптимизировать вызов, который говорит «Инструменты» медленно? Движение во время экрана / управления коснулось Как наблюдать изменения отдельных элементов в NSMutableArray? Scrollview Autolayout с вкладкой и панелью навигации Swift: Наблюдатель клавиатуры через NSNotificationCenter не работает Как я могу предоставить демо-данные в своем приложении, не поддерживая его до iCloud? Позиция UIView относительно другого UIView В чем разница между UUIDString] и CFUUIDRef Прочитать видео метаданные xmp iOS IOS интегрированное единство 4.6.3 проект (64-бит && IL2CPP). Выясните следующую такую ​​ошибку, как ее исправить? Обновление приложения для iPhone, которое находится на рассмотрении

Ошибка AFNetworking – «Недопустимый тип записи JSON (NSConcreteData)» – при загрузке аудиофайла

Я AFNetworking использовать AFNetworking для загрузки аудиофайла в Cloudinary через POST-вызов. Я использую AFNetworking для отправки запросов POST на мой собственный сервер с легкостью, но это первый раз, когда я попытался отправить объект NSData через AFNetworking, где я думаю, что проблема кроется и я не совсем уверен, как мне нужно настроить вызов чтобы заставить его работать.

Мой код

Мне нужно отправить 4 параметра через почтовый звонок в службу Cloudinary которую я помещаю в словарь.

 NSData *audioFile = [[NSData alloc]initWithContentsOfURL:_audioRecorder.url]; NSMutableDictionary *myParam = [NSMutableDictionary dictionary]; [myParam setValue:@(nowTime) forKey:@"timestamp"]; [myParam setValue:audioFile forKey:@"file"]; [myParam setValue:api_key forKey:@"api_key"]; [myParam setValue:finalSignature forKey:@"signature"]; [cloudManager setUpDataCall:@"/upload" withParameters:myParam]; 

setUpDataCall переходит к подклассу AFHTTPSessionManager с этим кодом. Это остальная часть URL-адреса сообщения, если вам любопытно @"https://api.cloudinary.com/v1_1/karmo/raw"

  - (void)setUpDataCall:(NSString *)callURL withParameters:(NSDictionary *)parameters { [self POST:callURL parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) { if ([self.delegate respondsToSelector:@selector(cloudManager:didReturnData:)]){ //Success :) } }failure:^(NSURLSessionDataTask *task, NSError *error) { if ([self.delegate respondsToSelector:@selector(cloudManager:didFailWithError: )]) { //Error :( } }]; } 

Ошибка

Я получаю эту ошибку, когда пытаюсь отправить файл Invalid type in JSON write (NSConcreteData) .

Когда я добавляю контрольную точку исключения, она идентифицирует это

  [mutableRequest setHTTPBody:[NSJSONSerialization dataWithJSONObject:parameters options:self.writingOptions error:error]]; 

Это в этом методе в классе AFURLRequestSerialization.m .

 - (NSURLRequest *)requestBySerializingRequest:(NSURLRequest *)request withParameters:(id)parameters error:(NSError *__autoreleasing *)error 

Я видел несколько других вопросов, связанных с stackoverflow, таких как ниже, но я не уверен, что они все еще актуальны, поскольку код из этих сообщений, похоже, AFNetworking ошибки в коде, поскольку я предполагаю, что AFNetworking обновляется с тех постов.

AFNetworking Загрузка файла

Будем очень благодарны за любую помощь или примеры кода. Спасибо, что потратили время.