2012-04-13 129 views
1

我正嘗試將照片上傳到Facebook。我閱讀了很多教程和示例,但仍無法實現。很多時候我在這一行中得到一個EXC_BAD_ACCESS發佈照片Facebook iOS

[_facebook requestWithGraphPath:@"me/photos" 
           andParams:photosParams 
          andHttpMethod:@"POST" 
           andDelegate:self]; 

其他時間什麼都沒有出現。我只希望用戶在Facebook上點擊「分享圖片」時才能登錄。這就是爲什麼我沒有把代表放在appDelegate。下面是我的代碼:

if (_facebook != nil) { 
     [self fbDidLogin]; 
    } 

    _publishedImage = img; 
    _facebook = [[Facebook alloc] initWithAppId:@"235694579858240" andDelegate:self]; 

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    if ([defaults objectForKey:@"FBAccessTokenKey"] 
     && [defaults objectForKey:@"FBExpirationDateKey"]) 
    { 
     _facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"]; 
     _facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"]; 
    } 

    if (![_facebook isSessionValid]) 
    { 
     NSArray* permissions = [[NSArray alloc] initWithObjects: 
           @"offline_access", @"publish_stream", @"publish_actions", @"photo_upload", nil]; 

     [_facebook authorize:permissions]; 
    } 

    UIImage *imgSource = img; 
    NSString *strMessage = @"This is the photo caption"; 
    NSMutableDictionary* photosParams = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
             imgSource,@"source", 
             strMessage,@"message", 
             nil]; 

    [_facebook requestWithGraphPath:@"me/photos" 
            andParams:photosParams 
           andHttpMethod:@"POST" 
            andDelegate:self]; 

我的視圖控制器具有這些代表:

<UIImagePickerControllerDelegate, UIActionSheetDelegate, UIGestureRecognizerDelegate, MFMailComposeViewControllerDelegate, FBSessionDelegate, FBDialogDelegate, FBRequestDelegate> 

編輯:是否有任何插件分享照片輕鬆了Facebook,G +,以及其他一切容易嗎?

+1

大家好, 以爲我會與大家在這裏分享,我剛剛發佈的教程在我的關於如何上傳照片博客並使用最新的Facebook SDK發佈狀態更新。還有一個示例項目需要下載。 看看這裏: http://xcodenoobies.blogspot.com/2012/09/how-to-upload-photo-and-update-status.html 謝謝。 – GeneCode 2012-09-07 12:20:10

回答

2

而不是使用圖形你爲什麼不嘗試:

 if ([fbAppDelegate.facebook isSessionValid]) { 
    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:                  @"http://hd.ipad-wallpapers.fr/thumbs/wooden_apple_logo_4-t1.jpg // but could also use UIImage", @"picture", nil]; // you don't 



    [fbAppDelegate.facebook dialog:@"feed" andParams:params andDelegate:self]; 

} 

// this is what I do ..... 
+0

嗨,謝謝。但仍然崩潰。你能分享我的所有代碼嗎? – Edig 2012-04-13 18:48:58

+0

什麼是崩潰日誌? – MCKapur 2012-04-14 01:56:02

+0

我fixit。我添加了一個靜態庫,我使用Facebook提供的腳本構建。但是我的項目是ARC,我遇到了麻煩。我得到Facebook的來源和重構到ARC修改我需要的一切,我再次將其添加到我的項目,它的工作原理:)謝謝 – Edig 2012-04-14 03:23:15