バックグラウンドでサーバーにビデオをPOSTする必要があります。これまで、POST時にこの種のパターンを使用してきました。
- (BOOL)loginUser:(user *)user
{
BOOL ret = NO;
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.waitView startWithMessage:@"Signing in ..."];
[self.objectManager postObject:user usingBlock:^(RKObjectLoader *loader)
{
loader.delegate = self;
loader.targetObject = nil;
loader.objectMapping = [RKObjectMapping mappingForClass:[user class] usingBlock:^(RKObjectMapping *mapping)
{
[mapping mapKeyPath:@"id" toAttribute:@"ID"];
[mapping mapKeyPath:@"last_name" toAttribute:@"last_name"];
[mapping mapKeyPath:@"first_name" toAttribute:@"first_name"];
[mapping mapKeyPath:@"middle_name" toAttribute:@"middle_name"];
[mapping mapKeyPath:@"email" toAttribute:@"email"];
[mapping mapKeyPath:@"password" toAttribute:@"password"];
[mapping mapKeyPath:@"authentication_token" toAttribute:@"authentication_token"];
}];
loader.serializationMapping = [loader.objectMapping inverseMapping];
loader.serializationMapping.rootKeyPath = NSStringFromClass([user class]);
}];
return ret;
}
...しかし、このパターンでは、backgroundPolicyを設定するRKRequestオブジェクトにアクセスできないようです。だから、私は次のようにRKClientを使用することを検討しました:
- (BOOL)postBigMediaFile:(NSString *)pathToBigFile
{
BOOL ret = NO;
NSString *resourcePath = @"/bigFile";
[[RKClient sharedClient] post:resourcePath usingBlock:^(RKRequest *request)
{
request.backgroundPolicy = RKRequestBackgroundPolicyContinue;
// how do I set up the object mapping?
}];
return ret;
}
...しかし、RKRequestオブジェクトには、マッピングを設定するためのRKObjectLoaderにアクセスする方法がないようです。オブジェクトマッピングを使用してバックグラウンドでデータを投稿するにはどうすればよいですか?