私はすべてのサーバー要求に対して完全に問題なくMKNetworkKitを使用しています。ただし、画像ファイルをアップロードしようとすると、次のエラーで失敗します。
エラー Domain=NSURLErrorDomain Code=-1005 「ネットワーク接続が失われました。」UserInfo=0x1010cb20 {NSErrorFailingURLStringKey=https://s3.amazonaws.com/net.myapp.upload, NSErrorFailingURLKey=https://s3.amazonaws.com/net.myapp.upload, NSLocalizedDescription=ネットワーク接続が失われました., NSUnderlyingError =0x1010ca60 "ネットワーク接続が失われました。"}
エラー コードが 405 の場合があります。アップロードに必要なすべての Amazon 資格情報があり、端末で cURL を実行して、アプリが持っているのと同じ送信データを使用すると、適切な戻り値が得られます。このリクエストに使用するメソッドは次のとおりです。
- (MKNetworkOperation*)uploadMediaFromFile:(NSString*)file urlCommand:(NSString*)url
postField:(NSString*)field authDict:(NSMutableDictionary*)authDict onCompletion:(
MediaUploadBlock)completionBlock onError:(MKNKErrorBlock)errorBlock {
MKNetworkOperation *op = [self operationWithURLString:url params:authDict
httpMethod:@"POST"];
[op addFile:file forKey:field];
// setFreezable uploads your images after connection is restored!
[op setFreezable:YES];
[op onCompletion:^(MKNetworkOperation* completedOperation) {
NSLog(@"%@",[completedOperation responseString]);
NSDictionary *jsonString = [completedOperation responseJSON];
NSLog(@"%@",jsonString);
completionBlock(jsonString);
}
onError:^(NSError* error) {
errorBlock(error);
}];
[self enqueueOperation:op forceReload:YES];
return op;
}
これは、ターミナルから機能し、ここで提供される同じパラメーターを使用してブラウザーから機能する、かなり基本的な要求です。これが機能しない理由がわかりません。どんな助けでも大歓迎です。