ASIFormDataRequest“_OBJC_CLASS _ $ _ ASIFormDataRequest”中的错误,引用自:

时间:2011-04-26 05:24:03

标签: iphone objective-c ios4

我在ASIFormDataRequest中苦苦挣扎。

我想在iphone上上传一张照片,以便我在编程中使用ASIFormDataRequest,但它给我的错误如_OBJC_CLASS_$_ASIFormDataRequest,引自:

我不明白它的含义以及我该如何处理它

我上传照片的代码如下:

-(void)postphoto:(id)sender
 {
     UISegmentedControl* _segControl;    
     //ASIFormDataRequest *request;

     UIImageView *_imageView = [UIImageView alloc];// initWithImage: image];
     NSString *likeString;
     NSString *filePath = nil;
     if (_imageView.image == [UIImage imageNamed:@"angelina.jpg"]) {
         filePath = [[NSBundle mainBundle] pathForResource:@"angelina" ofType:@"jpg"];
         likeString = @"babe";
     } else if (_imageView.image == [UIImage imageNamed:@"depp.jpg"]) {
         filePath = [[NSBundle mainBundle] pathForResource:@"depp" ofType:@"jpg"];
         likeString = @"dude";
     } else if (_imageView.image == [UIImage imageNamed:@"maltese.jpg"]) {
         filePath = [[NSBundle mainBundle] pathForResource:@"maltese" ofType:@"jpg"];
         likeString = @"puppy";
     }
     if (filePath == nil) return;

     NSString *adjectiveString;
     if (_segControl.selectedSegmentIndex == 0) {
         adjectiveString = @"cute";
     } else {
         adjectiveString = @"ugly";
     }

     NSString *message = [NSString stringWithFormat:@"I think this is a %@ %@!", adjectiveString, likeString];

     NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me/photos"];
    //[ self setRequest:[ASIFormDataRequest requestWithURL:url]];
     request = [ASIFormDataRequest requestWithURL:url];
     [request addFile:filePath forKey:@"file"];
     [request setPostValue:message forKey:@"message"];
     //[request setPostValue:_accessToken forKey:@"access_token"];
     [request setDidFinishSelector:@selector(sendToPhotosFinished:)];

     [request setDelegate:self];
     [request startAsynchronous];

 }

我还添加了两个文件ASIHTTPRequest.hASIFormDataRequest.h并将其导入我编写代码的位置

我还添加了CFNetworkFoundation

等框架

请帮我解决此错误。

2 个答案:

答案 0 :(得分:6)

我今天遇到了类似的问题。如果您使用的是iOS 5,请确保ASIHTTPRequest中使用的所有文件(扩展名为.m)都包含在项目的编译源中。你可以通过以下方式检查:project-> target-> build-phase->编译源代码。

如果是这种情况,请尝试添加所有文件并重新编译。再次,如果你使用ios 5,这次会抛出更多的错误。所有与ARC有关。要再次解决此问题,请转到编译源,选择所有库文件(仅选择不使用ios5 sdk的文件)并将其标记为“-fno-objc-arc”。这将关闭所选文件上的ARC。

答案 1 :(得分:0)

您必须将二进制文件与具有ASIFormDataRequest的库链接。