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



当网络连接不可用时,我正在使用 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 分配给已经保存我的数据的文件路径。 任何人都可以解决这个问题。

我认为您使用正常的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) {
}];

最新更新