Обновление для будущих читателей .Основная проблема заключалась в том, что вы должны создавать элементы ASIFormDataRequest точно так же, как это:
NSURL *url = [NSURL URLWithString:@"https://www.you.com/cgi-bin/you.cgi?stuff"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
Не добавлять дополнительные версии, сохранять, автоматически освобождать себя,и т. д.Вот и все.
Хмм.Я не совсем уверен, что авто-релиз там правильный.Вы должны быть осторожны, чтобы не потерять указатели восстановления в ASIHttpRequest.
Если оставить это в стороне, стоило бы сначала попробовать его как простой (без очереди, асинхронный) запрос, используя именно этот шаблон, который был протестированмиллиарды раз:
-(void) sendSomethingAnything
{
NSURL *url = [NSURL URLWithString:@"https://www.you.com/cgi-bin/you.cgi?stuff"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"fakeIDstring" forKey:@"id"];
[request setPostValue:@"anotherCalue" forKey:@"username"];
// your file here ..
[request setDelegate:self];
[request setDidFinishSelector:@selector(postFinished:)];
[request setDidFailSelector:@selector(postFailed:)];
[request startAsynchronous];
}
Просто вставьте свой URL, и вы можете попробовать это немедленно.Это устранит множество проблем и приблизит нас к этой проблеме.В готовой процедуре получите и покажите результат следующим образом ...
NSData *newStringData = [request responseData];
NSString *x = [[[NSString alloc] initWithData:newStringData
encoding:NSUTF8StringEncoding] autorelease];
NSLog(@"result text from server is %@", x);
Наконец, в вашем PHP.Я считаю полезным добавить строку кода, которая отправляет мне по электронной почте из php, с указанием, что происходит, черт возьми.В качестве альтернативы, используйте команду «wall» и просто откройте оболочку на вашем сервере, когда вы работаете с клиентом.Это единственный способ увидеть, что, черт возьми, происходит во время вашей работы.
(На самом деле я использую старомодный Perl, а не футуристический PHP, поэтому я не могу предложить никакого кода на этот счет! :))