Fazendo upload de arquivo usando o NSURLSessionUploadTask para o servidor PHP

Eu tenho um sistema de upload de vídeo em um aplicativo iOS usandoNSURLSessionUploadTask. O arquivo de vídeo é salvo em umNSURL então estou usando o seguinte código no meu método de upload:

request.HTTPMethod = @"POST";
[request addValue:@"file" forHTTPHeaderField:@"fileName"];

// Create upload task
NSURLSessionUploadTask *task = [session uploadTaskWithRequest:request fromFile:filePath completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
    if(!error) {
        // handle success
    } else {
        // handle error
    }
}];

// Run the task
[task resume];

Eu tenho um servidor PHP (usando Laravel) rodando sob nginx para lidar com este upload. Eu testei com o Postman, e ele aceita uploads bem (esperando um arquivo com o nome "arquivo").

Quando executo o código objc acima, o servidor informa que nenhum arquivo foi carregado (o$_FILES matriz está vazia).

Eu tentei com e sem definir o cabeçalho "fileName" e tentei definir "Content-Type" como "multipart / form-data", mas nenhuma dessas funciona.

Como posso obterNSURLSessionUploadTask para carregar corretamente esses arquivos (de umNSURL) para o servidor?

Este post parece detalhar um problema semelhante:NSURLSessionUploadTask não está passando o arquivo para o script php

questionAnswers(1)

yourAnswerToTheQuestion