Попробуйте передать словарь как строку JSON, а не как объект словаря.
Это можно сделать с помощью библиотеки JSON для iOS5 или для большей совместимости:
https://github.com/stig/json-framework
Я использую appendPostData, потому что я почти уверен, что установка заголовка (addRequestHeader) и использование addPostValue не являются совместимыми функциями.Вот пример моего кода:
ASIFormDataRequest *request;
[request addRequestHeader:@"Content-Type" value:@"application/json"];
[request appendPostData:[[SBJsonWriter new] dataWithObject:myDictionaryToPassAsAnArgument]];
Когда вы используете appendPostData, вы не можете использовать addPostValue.Вы должны положить все в словаре.