Tag: afnetworking

如何引用一个类的方法

我正在编写一个App.net客户端,并使用ADNKit作为与ADN服务器通信的框架。 我从Zephyr的一个开源代码中得到了一些想法,这个app.net客户端已经变成了一个开源项目。 他们用于显示post列表(PostStreamViewController)的视图控制器使用一个数据控制对象和一个名为apiCallMaker的属性的configuration对象。 该属性是这样定义的: typedef void (^APIPostListCallback)(NSArray *posts, PostListMetadata *meta, NSError *error); … @property (nonatomic, copy) void (^apiCallMaker)(APIPostParameters *parameters, APIPostListCallback callback); 这允许他们为主时间线重用相同的数据控制器对象,提及时间线等。他们所需要做的就是为每个这样的后置streamtypes提供一个configuration文件,每个types引用不同的api调用。 例如,在提及poststream的configuration文件中,他们像这样定义self.apiCallMaker: – (void (^)(APIPostParameters *parameters, APIPostListCallback callback))apiCallMaker { return [^(APIPostParameters *parameters, APIPostListCallback callback) { [APIUserMentionStream getUserMentionStreamWithParameters:parameters userID:self.userID completionHandler:callback]; } copy]; } 这是变长了,但坚持我。 我觉得这个方法非常酷,它使得数据控制器对象更轻,configuration文件更简单轻便。 在我的实现中,我反而像这样声明我的apiCallMaker : // this is the default parameters returned by […]

AFNetworking预取其他图像

我正在使用UIImageView + AFNetworking类别从URL数组下载和显示图像,并填充表视图。 现在我发现其他图像被延迟,因为只有当前单元格的图像将被加载。 我也需要通过提取其他图像来保持忙碌。 我的想法是编写一个for循环,并开始使用AFNetworking下载和caching,比如starting from current indexPath 10个其他请求。 还是应该在完成块中执行通常的dispatch_async并开始获取提及的20个其他图像? 任何更好的想法?

当应用程序在后台时是否可以使用NSFileManager的`copyItemAtURL:toURL:error:`方法?

我正在开发iOS应用程序,从相机胶卷上传video,使用NSURLSession进行背景configuration。 用户可以排队上传多个video(串行执行队列)。 一次上传包括: 使用PHImageManager的requestAVAssetForVideo方法获取对PHAsset的AVURLAsset引用。 将资源复制到临时目录(因为不能直接从AVURLAsset的URL上传)。 使用NSURLSessionUploadTask上传资源 我可以排队多个video,这个过程在前台运行良好。 他们一个接一个完成。 但是,如果我排队了几个video,然后背景的应用程序。 只要执行到达copyItemAtURL:toURL:error:阶段,它就会停止,直到我再次前台应用程序。 (我知道这是因为我在本地通知中发布debugging语句,在locking屏幕上可见)。 是否有可能使用copyItemAtURL:toURL:error:当应用程序背景? 如果没有,是否可以使用AVAssetExportSession呢? 编辑1我已经testing了这个连接到debugging器,而不是,应用程序从不执行复制命令。 但是只有当应用程序再次被预先登陆时才这样做。 编辑2为了澄清,执行在复制命令停顿。 它不会产生错误并继续执行。 并执行fileManager:shouldCopyItemAtURL:toURL:委托方法不会改变的东西。 该方法的文档也说: 在复制每个项目之前,文件pipe理器询问它的委托是否应该这样做。 它通过调用fileManager:shouldCopyItemAtURL:toURL:method; 如果该方法未实现(或者在OS X 10.5或更低版本中运行该进程),则会调用fileManager:shouldCopyItemAtPath:toPath:方法。 如果委托方法返回YES,或者委托没有实现适当的方法,则文件pipe理器继续复制文件或目录。

使用AFNetworking在swift上传图片

我试图上传一个图像到我的服务器使用AFNetworking在迅速,我得到这个错误The data couldn't be read because it isn't in the correct format. let manager = AFHTTPRequestOperationManager() let url = "http://path/to/server" let URL : NSURL = NSURL(string: url)! let req : NSURLRequest = NSURLRequest(URL: URL) let fileURL = NSURL(string: "file:///var/mobile/Media/DCIM/102APPLE/IMG_2623.PNG") manager.POST( url, parameters: nil, constructingBodyWithBlock: { (data: AFMultipartFormData!) in do{ _ = try data.appendPartWithFileURL(fileURL!, name: "uploaded_file", […]

使用xml正文AFNetworking 2.x POST请求

我正在尝试将一些数据发布到格式为XML格式的服务器。 [[HttpClientXML sharedClientWithBaseUrl:self.baseUrl] POST:@"/postXml/" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { BSLog(@"Success"); } failure:^(NSURLSessionDataTask *task, NSError *error) { BSLog(@"Error: %@",error.localizedDescription); }]; POST身体xml内容看起来不正确。 像那样: <action name='job'>jobName</action> HttpClientXML有这样的定义: self.responseSerializer = [AFXMLParserResponseSerializer serializer]; self.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/xml"]; 在1.x版本中,这是可以通过AFXMLRequestOperation 。 但在版本2.x中,我无法使用AFHTTPSessionManager获得工作解决scheme。 有什么build议么?

从块内部variables

我正在使用AFNetworking 2从服务器获取数据,我需要找回responseObject但不pipe我做什么,我仍然得到<null> 。 这是发送GET请求到服务器的方法,并作为响应它获得NSDictionary ,我想用另一种方法… – (void)getCurrentVersionsForTimetableWithID:(NSString *)timetableID { [[AFHTTPRequestOperationManager manager] GET:[NSString stringWithFormat:VERSIONS, timetableID] parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { // Here I want to get responseObject } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Couldn't get current versions: %@", [error localizedDescription]); }]; } 如果我称这种方法一切正常。 但是当我尝试使它像这样返回NSDictionary : – (NSDictionary *)getCurrentVersionsForTimetableWithID:(NSString *)timetableID { __block NSDictionary *currentVersions; [[AFHTTPRequestOperationManager manager] […]

尝试复制文件时出错

我想使用NSFileManager复制临时文件到另一个位置。 然而,这是失败的抱怨,其中一个文件不存在。 //Copy temp file NSError *error; BOOL exists = [fileManager fileExistsAtPath:chapterFileTemp]; exists = [fileManager fileExistsAtPath:chapterFile]; [fileManager copyItemAtURL:[NSURL fileURLWithPath:chapterFileTemp] toURL:[NSURL fileURLWithPath:chapterFile] error:&error]; //Delete temp path [fileManager removeItemAtURL:[NSURL fileURLWithPath:chapterFileTemp] error:&error]; 我在复制操作时出错 (错误域= NSCocoaErrorDomain代码= 260“操作无法完成(Cocoa错误260.)”UserInfo = 0x1c5190b0 {NSFilePath = / var / mobile / Applications / 57727CCD-88AD-4D84-8C78-EA8100645C9B / Documents / 119 /myFileTemp.temp,NSUnderlyingError = 0x1c527960“操作无法完成,没有这样的文件或目录”)。 现在第一个BOOL返回YES,第二个NO。 这是预期的。 什么可能是失败的原因 […]

cachingFacebook个人资料图片iOS

我正在将图片保存到磁盘,以供我的应用用户使用,他们要么上传图片,要么与Facebook连接,然后显示他们的个人资料图片。 这很好,但如果用户更改他们的脸谱资料图片,下面的代码永远不会更新图像。 我怎样才能检查facebook graph api检查是否已经上传图像没有重新下载图像? 我正在使用AFNetworking所以检查302头是一个选项,如果可能 – 只是不知道如何实现。 //load image if exists on disk NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSString *filePath = [documentsPath stringByAppendingPathComponent:uniqueCustomerPath]; BOOL fileExists = [fileManager fileExistsAtPath:filePath]; if(fileExists){ UIImage* tempImage = [UIImage imageWithContentsOfFile:filePath]; completionHandler(tempImage); } //download image if not else{ NSString *imageUrl=[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large", (long)self.customer.facebook_id]; UIImage *tempImage […]

从AFNetworking直接获取NSData,而不是让它转换为UIImage

有没有一个标志,让我得到NSData,而不是让AFNetworking转换我的responseData到相应的数据types(UIImage,NSString)?

与AFNetworking在UICollectionView错误asynchronous下载

您好我正在创buildUICollection视图与清单目录,而点击单元格上的PDF必须下载,它在一个视图完美的工作,但在另一个视图给出的错误 * thread #1: tid = 0x4b2ce, 0x000000018d14f9b8 CoreFoundation`CFURLCopyScheme + 56, queue = 'com.apple.NSURLSession-work', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x000000018d14f9b8 CoreFoundation`CFURLCopyScheme + 56 frame #1: 0x000000018cdab96c CFNetwork`_urlIsHTTPish + 16 frame #2: 0x000000018cdc76b0 CFNetwork`URLRequest::addOverridingSessionAttributes(_CFURLSessionConfiguration*) + 288 frame #3: 0x000000018ce38964 CFNetwork`ClassicConnectionSession::createConnectionWithProperties(_CFURLRequest const*, __CFDictionary const*) const + 548 frame #4: 0x000000018ce10bcc CFNetwork`__73-[__NSCFLocalSessionBridge downloadTaskForRequest:resumeData:completion:]_block_invoke + 224 […]