2013-04-23 13 views
7

Web sitelerinin bağlantılarını paylaşmak için benim uygulama üzerinde facebook entegre ediyorum. Bunu gerçekleştirmek için Feed Dialog'u kullanıyorum ve şu eğiticiyi takip ediyorum:
https://developers.facebook.com/docs/howtos/feed-dialog-using-ios-sdk/.nil resultURL başarıyla FBWebDialogs (Facebook SDK 3.5) ile gönderdikten sonra

Facebook'a giriş yapıp posta gönderebildim ancak yazı başarılı olduğunda mesaj eklemek istedim. Öğretici bunu yerleşik olarak yazdı, ancak her gönderiminde, kullanıcının "Kullanıcı tarafından iptal edilen hikaye yayınlama ." olduğunu göreceksiniz. Ayrıca hata ayıklayıcı ile işleyici tarafından alınan resultURL paramının her zaman başarılı gönderilerde bile sıfır olduğunu doğruladım.

İlk başta, Facebook App numaralı telefonumda bir yapılandırma sorunu olsa da, bir test yapmaya karar verdim. Çerçeve ile birlikte gelen RPSSample'u açtım, RPSFriendsViewController.m görüntü denetleyicisindeki clickInviteFriends yöntemindeki presentRequestsDialogModallyWithSession yöntemine bir tamamlama işleyicisi ekledim ve orada da başarılı iletiler için bir resultURL nil alıyordum.

Bir şey özlüyorum mu?

Ben 3.5 SDK sürümü çok yeni olduğunu biliyorum ama belgelere göre ben bu yüzden bir hata olup olmadığından emin değilim ya ben eğer bir Facebook Web Diyaloğu aracılığıyla gönderme sonra geçerli resultURL param ayırmaları lazım Bazı geri arama veya işleyici bir yere eksik.

Sadece durum buysa, bu Feed Web Dialog için aramamdır. Bu öğretici gelir birine göre küçük değişiklikler vardır Biz yerinde bunun için bir düzeltme var ve yakında basılmış olacaktır

- (void)publish: (EntityToShare *)entityToShare { 
NSMutableDictionary *params = 
[NSMutableDictionary dictionaryWithObjectsAndKeys: 
entityToShare.link, @"link", 
nil]; 

// Invoke the dialog 
[FBWebDialogs presentFeedDialogModallyWithSession:nil 
             parameters:params 
              handler: 
^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
    if (error) { 
     // Error launching the dialog or publishing a story. 
     NSLog(@"Error publishing story."); 
    } else { 
     if (result == FBWebDialogResultDialogNotCompleted) { 
      // User clicked the "x" icon 
      NSLog(@"User canceled story publishing."); 
     } else { 
      // Handle the publish feed callback 
      NSDictionary *urlParams = [self parseURLParams:[resultURL query]]; 
      if (![urlParams valueForKey:@"post_id"]) { 
       // User clicked the Cancel button 
       NSLog(@"User canceled story publishing."); 
      } else { 
       // User clicked the Share button 
       NSString *msg = [NSString stringWithFormat: 
            @"Posted story, id: %@", 
            [urlParams valueForKey:@"post_id"]]; 
       NSLog(@"%@", msg); 
       // Show the result in an alert 
       [[[UIAlertView alloc] initWithTitle:@"Result" 
              message:msg 
              delegate:nil 
            cancelButtonTitle:@"OK!" 
            otherButtonTitles:nil] 
        show]; 
      } 
     } 
    } 
}]; 
} 
+0

aynı sorunu yaşıyorsunuz. –

cevap

9

(aslında basittir).

Düzenlendi: Bu şimdi SDK sürümde düzeltildi

3.5.1 Buradan kontrol edin: https://developers.facebook.com/ios/

+0

Diego ile aynı sorunu yaşıyorum. Ne zaman tamir etmeyi beklersiniz? – user498388

+1

Harika! Çok hızlı cevap verdiğiniz için teşekkürler. Bu beni deli ediyordu. Yani bu bir sunucu sorunu mu yoksa SDK ile ilgili bir sorun mu var? –

+1

Bunu çok acil olarak bekliyorum, sadece yerel kodumu etkilemeyecek bir hata mı? – ValentiGoClimb

İlgili konular