在我的应用程序中,我集成了 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/