2017-07-11 24 views
0

ネットワーク接続が利用できないときにplistを使用してローカルにデータを保存しています。ネットワークが利用可能なときは、ローカルに保存されたデータをWebサーバーに同期します。AFNetworking3.0を使用してplistデータをWebサーバーに同期するにはどうすればよいですか?

私はこのコードを使用しています。しかし、私はデータがサーバーに保存されているかどうかわからない。

(IBAction)manualSync:(id)sender { 

    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; 
    AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; 

    NSURL *URL = [NSURL URLWithString:@"http://example_url"]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:URL]; 

    NSURL *filePath = [NSURL fileURLWithPath:@"file://plist_name"]; 
    NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { 
     if (error) { 
      NSLog(@"Error: %@", error); 
     } else { 
      NSLog(@"Success: %@ %@", response, responseObject); 
     } 
    }]; 
    [uploadTask resume]; 
} 

私はPLISTのデータを保存するURL、そして私のデータが既に保存されているファイルパスへの私のplistに私のAPIを割り当てています。誰でもこの問題を解決できますか?

+0

その後、他の{エラーがない場合 のNSLog(@ "成功:%@%@"、応答、responseObject)。 }このコードは実行されます。ここにbrakpointを入れてみるか、ログを確認してください。 –

+0

エラーは表示されませんが、応答が得られません。 –

+0

ブレークポイントが[uploadTask resume]に直接ジャンプしています。 if条件に入ることなしに。 –

答えて

1

通常のAPIコールを使用して、サーバーにpListファイルを保存すると思います。 あなたがplistファイルを読むと、あなたの意志のデータがNSDictionaryになり、それをサーバーに送信して保存します。

は、サーバーへのplist値を送信するには:

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
NSString *strWebService = [NSString stringWithFormat:@"YOUR_BASE_URL"]; 

NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"YOUR_PLIST_NAME" ofType:@"plist"]; 
NSDictionary *dicData = [NSDictionary dictionaryWithContentsOfFile:plistPath]; 



[manager POST:strWebService parameters:dicData constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) 
{ 
} progress:^(NSProgress * _Nonnull uploadProgress) 
{ 
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) 
{ 
    NSLog(@"%@",responseObject) 
    ; 
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { 
}]; 
+0

このコードを使って私はゼロ値を取得しています –

+0

plistファイルを私に送ることはできますか?だから私は確認して、あなたに知らせることができます。 – Nirmalsinh

+0

データの保存と取得は機能していますが、データの同期は機能していません –

関連する問題