我正在将我的项目从RestKit 0.10升级到0.20.2。成功完成。 现在我需要从URL下载一个zip文件并将其解压缩。我在RestKit中找不到任何方法来这样做。任何人都可以知道这一点。
由于
答案 0 :(得分:2)
来自RestKit:Reskit link
“RestKit提供了一个功能强大的对象映射引擎,可以与Core Data无缝集成,还有一组简单的网络基元,用于映射建立在AFNetworking之上的HTTP请求和响应。”
要下载,您可以使用AFNetworking AFNetworking link 对于解压缩,你可以使用zipArchive女巫非常好。 zipArchive
答案 1 :(得分:2)
Restkit 0.2使用AFNetworking。在项目中配置Restkit后,您还可以使用AFNetworking。因此,您可以下载这样的文件:
- (void)downloadWithOutputPath:(NSString *)aPath progress:(void(^)(NSUInteger, long long , long long ))onProgress success:(void (^)(id<Attachment>))onSuccess error:(void (^)(NSError *))onError
{
NSURLRequest *request = [NSURLRequest requestWithURL:self.url];
AFHTTPRequestOperation *operation = [self.client HTTPRequestOperationWithRequest:request
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSURL *url = [NSURL fileURLWithPath:aPath];
NSError *error;
[self skipBackupForURL:url error:&error];
onSuccess(self);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
onError(error);
}];
[operation setDownloadProgressBlock:onProgress];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:aPath
append:NO];
[operation start];
}
另请注意,您必须将下载的文件标记为从备份中排除。
- (void)skipBackupForURL:(NSURL *)anURL error:(NSError **)anError
{
[anURL setResourceValue:[NSNumber numberWithBool:YES]
forKey:NSURLIsExcludedFromBackupKey error:anError];
}
对于解压缩文件,我们使用https://github.com/soffes/ssziparchive