ошибка в ASIFormDataRequest "_OBJC_CLASS _ $ _ ASIFormDataRequest", на которую ссылаются из: - PullRequest
3 голосов
/ 26 апреля 2011

Я борюсь с ASIFormDataRequest.

Я хочу загрузить фотографию на Facebook в 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.h и ASIFormDataRequest.h и импортировал его туда, где я написал свой код

Я также добавил фреймворки, такие как CFNetwork, Foundation и т. Д.

Пожалуйста, помогите мне в решении этой ошибки.

Ответы [ 2 ]

6 голосов
/ 22 марта 2012

У меня была похожая проблема сегодня. Если вы используете iOS 5, убедитесь, что все файлы, используемые в ASIHTTPRequest (с расширением .m), включены в исходный код проекта. Вы можете проверить это с помощью: project-> target-> build-phase-> source compile.

если это так, попробуйте добавить все файлы и снова скомпилировать. опять же, если вы используете ios 5, на этот раз будет намного больше ошибок. все, что связано с АРК. чтобы решить эту проблему снова, перейдите к исходному коду компиляции, выберите все файлы библиотеки (выберите только файл, не использующий ios5 sdk) и отметьте их как -fno-objc-arc. это отключит ARC для выбранных файлов.

0 голосов
/ 26 апреля 2011

Вы должны связать свой бинарный файл с библиотекой, в которой есть ASIFormDataRequest.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...