Получение ошибки при публикации изображения с использованием FHSTwitterEngine

В моем приложении я интегрировал FHSTwitterEngine для публикации изображений в твиттере. До прошлой недели все работало нормально. Но вдруг, при попытке опубликовать изображение показывает 204 Ошибка

Domain=FHSErrorDomain Code=204 "Запрос не вернул никакого содержимого."

Я не думаю, что это проблема с повторяющимся сообщением, потому что изображение будет меняться в зависимости от выбора пользователя, и при попытке опубликовать изображение в первый раз оно выдает ошибку.

Текстовые твиты работают правильно. проблема только с размещением изображения

код, который я использую

dispatch_async(GCDBackgroundThread, ^{
    @autoreleasepool {

        NSError *returnCode = [[FHSTwitterEngine sharedEngine]postTweet:self.textToTweet withImageData:UIImagePNGRepresentation(tweetImg)];

        NSString *title = nil;
        NSString *message = nil;

        if (returnCode) {
            NSLog("Error-->%d",returnCode.code);               
        } else {
            title = @"Tweet Posted";
            message = @"Successfully";
        }
     }
});

заранее спасибо

4 ответа

Решение

Это искаженная проблема данных из нескольких частей.

Взгляните на FHSTwitterEngine.m.

Ищите эти строки

- (NSError *)sendPOSTRequestForURL:(NSURL *)url andParams:(NSDictionary *)params
...
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n",key] dataUsingEncoding:NSUTF8StringEncoding]];        
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:data];

Добавьте эти строки под ним

if ([obj isKindOfClass:[NSData class]]) {
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
}

Я также заметил, что в нем отсутствует ошибка параметров состояния.
Ищу

- (NSError *)postTweet:(NSString *)tweetString withImageData:(NSData *)theData inReplyTo:(NSString *)irt {
...
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"media[]"] = theData;

И добавь это

params[@"status"] = tweetString;

Или вы можете получить исправления здесь: https://github.com/alvani/FHSTwitterEngine/blob/master/FHSTwitterEngine/FHSTwitterEngine.m

Благодарю.

Вам нужно опубликовать строку длиной ниже 130 символов

Я не смог разместить изображение в Twitter, но теперь, используя этот код, я могу опубликовать данные с изображением в Twitter.

https://github.com/alvani/FHSTwitterEngine

Просто замените ваш FHSTwitterEngine на эту библиотеку.

его просто добавили некоторые изменения или ошибки в библиотеке

Сжать существующее изображение, используя этот код...

NSData *data = UIImageJPEGRepresentation(imageView.image, 0.6);
Другие вопросы по тегам