非同期NSURLRequestsをRubyサーバーに送信するのに問題があります。以下を使用すると、接続が確立されません。
self.data = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://domain.com/app/create_account.json"]];
[request setHTTPMethod:@"POST"];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request addValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request addValue:@"form-data" forHTTPHeaderField:@"Content-Disposition"];
[request setHTTPBody:[data dataUsingEncoding:NSUTF8StringEncoding]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
ただし、最後の行を次のように交換すると、次のようになります。
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
すべてがうまく機能します。しかし、私はこの接続を非同期的に行う必要があります...
編集-実例
NSURL *url = [NSURL URLWithString:@"http://domain.com/app/create_account.json"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:data forKey:@"data"];
[request setDelegate:self];
[request startAsynchronous];
この場合、RESTfulサービスには独自のサードパーティフレームワークが必要なようです。