2014-04-07 1 views
2

포스트 이미지를 게시하지만 imahe없이 트윗을 게시하는 경우는 FHSTwitterEngine의 현재 버전 및 게시 이미지에 문제가 있습니다FHSTwitterEngine 이미지가 오류를 반환 <strong>FHStwitterEngine</strong>으로

-(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 [email protected]"Test5"; 
    UIImage *image =[UIImage imageNamed:@"contact.png"]; 
    if (image ==nil) { 
     [self postTweet:str]; 
    }else { 

    [self postTweet:str withImage:image]; 

    } 
} 

답변

0

성공적으로 게시보다하지. 나는 내 응용 프로그램에서 동일한 문제가 있었지만,이 갈래 버전의 업데이트를 사용하여 해결할 수 있었다 : 단지 FHSTwitterEngine.m에 그것을 복사/붙여 넣기 할

https://github.com/alvani/FHSTwitterEngine/blob/master/FHSTwitterEngine/FHSTwitterEngine.m

그것은, 가장 쉬운 방법이지만 여기에 특정 변경입니다 다음이 필요합니다

을 라인 1599이나 주위 :

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

- (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]; 

아래에 다음 코드를 추가합니다 에 또는 라인 (688)의 주위에

:

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

아래에 다음 코드를 추가합니다 :

params[@"status"] = tweetString; 

희망이 도움이!