2012-04-05 3 views
0

사용자의 페이스 북 벽에 UIImage를 게시하는 다음 코드는 작동하지 않습니다. 페이스 북 SDK와 함께 제공되는 샘플 코드를 살펴 보았습니다. 내 코드에 문제가있는 것을 발견 할 수 없습니다.페이스 북에 UImage 업로드

-(void) shareOnFacebook 
{ 
facebook = [[Facebook alloc] initWithAppId:@"MYAPPID" andDelegate:(id)self]; 

NSArray * neededPermissions = [[NSArray alloc] initWithObjects:@"offline_access",@"user_about_me", @"publish_stream", @"user_photos", nil] ; 
[facebook authorize:neededPermissions ]; 

if (![facebook isSessionValid]) 
{ 





    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            img, @"picture", 
            nil]; 
    [facebook requestWithGraphPath:@"me/photos" 
            andParams:params 
           andHttpMethod:@"POST" 
            andDelegate:(id)self]; 



} 

}

무슨 문제가 될 수 있음을 말해주십시오?

미리 감사드립니다.

답변

2

당신은 - (void)fbDidLogin가 .. 이런 식으로 작업을 수행하려고하고 제안

- (void)fbDidLogin { 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:[fb accessToken] forKey:@"FBAccessTokenKey"]; 
    [defaults setObject:[fb expirationDate] forKey:@"FBExpirationDateKey"]; 
    [defaults synchronize]; 

    [self uploadImageWithName:yourImageName]; 
} 


- (void) uploadImageWithName : (NSString*)name 
{ 
    NSString *img = [NSString stringWithFormat:@"%@.PNG",name]; 
    UIImage *uploadImage = [UIImage imageNamed:img]; 

    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            [fb accessToken], 
            @"access_token",nil]; 

    [params setObject:uploadImage forKey:@"source"]; 

    [fb requestWithGraphPath:@"me/photos" 
          andParams: params 
         andHttpMethod: @"POST" 
          andDelegate:self]; 

} 
0

의미가 있습니까? 세션이 유효한지면 페이스 북 개체에 물어보십시오. 이고 그렇지 않은 경우이면 사진 업로드를 계속합니다. 나머지 코드는 괜찮은지 모르지만 적어도 조건을 제거하거나 if ([facebook isSessionValid])으로 변경하고 도움이되는지 확인하십시오.

+0

내가 조건을 제거/변경 시도 작동합니다 ... 아무것도 호출되지되고있는 대리자 메서드 후 업로드 기능을 호출 할 필요가 해결 된 – Shubham