如何使用AFNetworking3.0将plist数据同步到Web服务器?

时间:2017-07-11 05:25:28

标签: ios objective-c xcode8

我正在使用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];
}

我正在将我的api分配给我想要保存plist数据的URL,并将我的plist分配到已保存数据的文件路径中。任何人都可以解决这个问题。

1 个答案:

答案 0 :(得分: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) {
 }];