한참 삽질하다가 해결책을 찾아서 공유합니다. 파일업로드 쪽 API가 에러를 제대로 뱉어 주지 않아서 직접 파일업로드 백엔드도 구축하고 테스트 했습니다ㅠㅜ
+ (void)uploadProfileImageWithData:(NSData *)imageData success:(NetworkSuccess)success failure:(NetworkError)failure {
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"access_token" : @"인증토큰"};
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:UPLOAD_PROFILE parameters:parameters constructingBodyWithBlock:^(id <AFMultipartFormData> formData) {
[formData appendPartWithFileData:imageData name:@"upload" fileName:@"profile.jpg" mimeType:@"image/jpeg"];
// 이 부분을 추가한다.
[formData appendPartWithFormData:[[NSNumber numberWithInt:imageData.length].stringValue dataUsingEncoding:NSUTF8StringEncoding] name:@"filelength"];
} success:success
failure:failure];
}
Simulator에서는 업로드가 잘되었는데 Device에서 업로드가 되지 않아서 볼드 처리한 부분을 추가했더니 잘 되네요. 혹시 비슷한 이슈가 있으면 도움이 되길 바랍니다.
비슷한 이슈가 이미 리포팅 되어 있네요. https://github.com/AFNetworking/AFNetworking/issues/1510