Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios FHSTwitterEngine映像未发布_Ios_Objective C_Twitter_Fhs Twitter Engine - Fatal编程技术网

Ios FHSTwitterEngine映像未发布

Ios FHSTwitterEngine映像未发布,ios,objective-c,twitter,fhs-twitter-engine,Ios,Objective C,Twitter,Fhs Twitter Engine,使用FHStwitterEngine发布图像它返回错误,但如果我在没有imahe的情况下发布tweet,则它会成功发布 -(void)postTweet:(NSString*)message withImage:(UIImage*)img { dispatch_async(GCDBackgroundThread, ^{ @autoreleasepool { NSString *strMsg =[NSString stringWithFormat:@"%@",messag

使用FHStwitterEngine发布图像它返回错误,但如果我在没有imahe的情况下发布tweet,则它会成功发布

-(void)postTweet:(NSString*)message withImage:(UIImage*)img {

dispatch_async(GCDBackgroundThread, ^{
    @autoreleasepool {
        NSString *strMsg =[NSString stringWithFormat:@"%@",message];
        NSData *imgData =UIImagePNGRepresentation(img);
        [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
        NSError *returnCode = [[FHSTwitterEngine sharedEngine]postTweet:strMsg withImageData:imgData];


        [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

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


        if (returnCode) {
            title = [NSString stringWithFormat:@"Error %d",returnCode.code];
            message = returnCode.localizedDescription;

        } else {
            title = @"Tweet Posted";
            message = message;
        }

        dispatch_sync(GCDMainThread, ^{
            @autoreleasepool {
                UIAlertView *av = [[UIAlertView alloc]initWithTitle:title message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
                [av show];
            }
        });
    }
});

}

- (IBAction)btnPost:(id)sender {

    NSString *str =@"Test5";
    UIImage *image =[UIImage imageNamed:@"contact.png"];
    if (image ==nil) {
        [self postTweet:str];
    }else {

    [self postTweet:str withImage:image];

    }
}

FHSTwitterEngine的当前版本和发布图像存在问题。我的应用程序中也有同样的问题,但通过使用此分叉版本的更新,我能够解决它:

将其复制/粘贴到FHSTwitterEngine.m中是最简单的,但以下是您需要进行的具体更改:

在第1599行或其周围:

- (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]];
}
params[@"status"] = tweetString;
在第688行或其周围:

- (NSError *)postTweet:(NSString *)tweetString withImageData:(NSData *)theData inReplyTo:(NSString *)irt {
...
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"media[]"] = theData;
在下面添加以下代码:

if ([obj isKindOfClass:[NSData class]]) {
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
}
params[@"status"] = tweetString;
希望这有帮助