ios - 使用 FHSTwitterEngine 发布图像时出现错误

标签 ios objective-c fhs-twitter-engine

在我的应用程序中,我集成了 FHSTwitterEngine,用于在 Twitter 中发布图像。直到上周它工作正常。但突然间,在尝试发布图像时显示 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";
        }
     }
});

提前致谢

最佳答案

这是一个格式错误的多部分表单数据问题。

看看 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

谢谢。

关于ios - 使用 FHSTwitterEngine 发布图像时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19096713/

相关文章:

ios - 为什么我的 MKPointAnnotation 在 View 加载时没有出现?

objective-c - 在沙箱中模拟按键

iphone - UITextfield 文本在编辑中移动

ios - 带有比较器的核心数据排序描述符

ios - Xcode 9 "could not build module ‘Foundation’“

iphone - 具有多个 UILabel 和图像的自定义按钮

ios - 在场景工具包 ios swift 中创建一个二维图像作为 SCNNode

ios - FHSTwitterEngine- 'NSInvalidArgumentException' ,'data parameter is nil'

ios - 无法在 TableView 中的标签上打印 Twitter 响应

ios - FHSTwitterEngine 图片未发布